Fragen zur Kraken Api

hulda-90

Aktives Mitglied
Hi,

die Rest-Api ist hier angegeben: https://docs.kraken.com/rest/

Mit https://api.kraken.com/0/public/Assets kann ich mir ja alle Assets auflisten lassen. Leider sind das wirklich alle Assets und das auch noch ungeordnet. (Ich möchte keine Werbung machen, deshalb steht alles in icodes 😉 ) Ich verstehe kraken's Taxonomie noch nicht, welche Bezeichnung die Assets haben...

  1. Wie kann ich die Assets filtern, so dass mir tatsächlich nur handelbare Cryptos angezeigt werden, keine Währungen und keine Shorts usw.?
  2. Wie kann ich die Basis Cryptos dann nach dem Volumen sortieren, so wie auch auf der Seite von kraken?
  3. Ist es richtig, dass ich fast jedes Asset in fast jedes andere Asset tauschen kann?
  4. Wie kann ich nur die Basis Margin Assets filtern?

Das wären erstmal die Fragen für den Anfang. 😉
 
Ich zeig euch das Problem:

Java:
    public static void main(String[] args) throws IOException {
        KrakenApi api = new KrakenApi();
        api.setKey("Your API Key");
        api.setSecret("Your API Secret");
        String rs = api.queryPublic(KrakenApi.Method.ASSETS);
        Map<String, Object> map1 = new Genson().deserialize(rs, new GenericType<Map<String, Object>>() {});
        for (Map.Entry<String, Object> e : ((Map<String, Object>) map1.get("result")).entrySet()) {
            String n = e.getKey();
            if (!n.contains(".") && !n.contains("USD")) {
                Map<String, String> input = new HashMap<>();
                input.put("pair", n + "USD");
                String rs2 = api.queryPublic(KrakenApi.Method.ASSET_PAIRS, input);
                Map<String, Object> map2 = new Genson().deserialize(rs2, new GenericType<Map<String, Object>>() {});
                if (map2.containsKey("result")) {
                    for (Map.Entry<String, Object> e2 : ((Map<String, Object>) map2.get("result")).entrySet()) {
                        System.out.println(e2.getKey() + " -> " + ((Map<String, Object>) e2.getValue()).get("wsname"));
                    }
                } else {
                    System.out.println("error");
                }
            }
        }
    }

Das gibt mir folgendes aus:

Code:
MATICUSD -> MATIC/USD
SHIBUSD -> SHIB/USD
error
error
RAYUSD -> RAY/USD
error
FLOWUSD -> FLOW/USD
COMPUSD -> COMP/USD
error
error
error
error
SDNUSD -> SDN/USD
error
error
ZRXUSD -> ZRX/USD
GHSTUSD -> GHST/USD
error
error
BCHUSD -> BCH/USD
DOTUSD -> DOT/USD
OMGUSD -> OMG/USD
BANDUSD -> BAND/USD
ASTRUSD -> ASTR/USD
1INCHUSD -> 1INCH/USD
AVAXUSD -> AVAX/USD
error
MIRUSD -> MIR/USD
KNCUSD -> KNC/USD
KILTUSD -> KILT/USD
PHAUSD -> PHA/USD
GNOUSD -> GNO/USD
ANKRUSD -> ANKR/USD
error
SUSHIUSD -> SUSHI/USD
ALGOUSD -> ALGO/USD
ATOMUSD -> ATOM/USD
SCUSD -> SC/USD
LPTUSD -> LPT/USD
WBTCUSD -> WBTC/USD
SNXUSD -> SNX/USD
ACAUSD -> ACA/USD
MANAUSD -> MANA/USD
AKTUSD -> AKT/USD
GLMRUSD -> GLMR/USD
MINAUSD -> MINA/USD
DAIUSD -> DAI/USD
MNGOUSD -> MNGO/USD
SOLUSD -> SOL/USD
MKRUSD -> MKR/USD
BNCUSD -> BNC/USD
OGNUSD -> OGN/USD
RENUSD -> REN/USD
TBTCUSD -> TBTC/USD
error
BADGERUSD -> BADGER/USD
LRCUSD -> LRC/USD
REPV2USD -> REPV2/USD
ADAUSD -> ADA/USD
ICXUSD -> ICX/USD
STORJUSD -> STORJ/USD
error
RARIUSD -> RARI/USD
PAXGUSD -> PAXG/USD
KINTUSD -> KINT/USD
BNTUSD -> BNT/USD
OXTUSD -> OXT/USD
error
DASHUSD -> DASH/USD
NANOUSD -> NANO/USD
OXYUSD -> OXY/USD
WAVESUSD -> WAVES/USD
CHZUSD -> CHZ/USD
CTSIUSD -> CTSI/USD
POLISUSD -> POLIS/USD
TRXUSD -> TRX/USD
FIDAUSD -> FIDA/USD
KAVAUSD -> KAVA/USD
SANDUSD -> SAND/USD
ORCAUSD -> ORCA/USD
LSKUSD -> LSK/USD
KEEPUSD -> KEEP/USD
OCEANUSD -> OCEAN/USD
CQTUSD -> CQT/USD
error
error
KINUSD -> KIN/USD
KARUSD -> KAR/USD
ENJUSD -> ENJ/USD
INJUSD -> INJ/USD
CRVUSD -> CRV/USD
ANTUSD -> ANT/USD
GRTUSD -> GRT/USD
DYDXUSD -> DYDX/USD
SRMUSD -> SRM/USD
ATLASUSD -> ATLAS/USD
AAVEUSD -> AAVE/USD
UNIUSD -> UNI/USD
PERPUSD -> PERP/USD
LINKUSD -> LINK/USD
QTUMUSD -> QTUM/USD
YFIUSD -> YFI/USD
LUNAUSD -> LUNA/USD
XTZUSD -> XTZ/USD
error
SBRUSD -> SBR/USD
EWTUSD -> EWT/USD
KSMUSD -> KSM/USD
EOSUSD -> EOS/USD
FILUSD -> FIL/USD
STEPUSD -> STEP/USD
BALUSD -> BAL/USD
BATUSD -> BAT/USD
error
MOVRUSD -> MOVR/USD
AXSUSD -> AXS/USD

Also man braucht zwei ineinandergeschaltete Schleifen, es sind Error dabei, die Liste ist nicht sortiert, ich weiß nicht welches Basis Margin Assets sind und BTC ist zum Beispiel nicht dabei.

Woran liegt das? Warum gibt es keine konsistente Taxonomie? Überseh ich was?
 

Zurück
Oben