Hallo, die sind hier spezifiziert: https://support.kraken.com/hc/en-us/articles/360001185506-How-to-interpret-asset-codes
Code:
Resolve funktioniert nicht. Könnte mir sagen, wo mein Denkfehler ist?
resolve soll ein beliebiger Asset Name und das Traget Asset übergeben werden. Dann soll das richtige Asset Pair returned werden...
Code:
Java:
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import org.apache.commons.lang3.StringUtils;
public class KrakenNames {
private ArrayList<String> pairs;
public KrakenNames(MyAccess access) {
pairs = new MyKraken(access.api).getAssetPairs();
System.out.println(pairs.size() + " pairs.");
}
private List<String> getPairs(String pair) {
if (pair.startsWith("X")) {
return pairs.stream().filter(s -> s.startsWith(pair.substring(1, 4))).collect(Collectors.toList());
}
return pairs.stream().filter(s -> s.startsWith(pair.substring(0, 3))).collect(Collectors.toList());
}
public String[] resolve(String pair, String target) {
List<String> pairs2 = getPairs(pair);
String p = pairs2.stream().filter(s -> s.endsWith(target)).findFirst().orElse(null);
if (p == null) {
return null;
}
if (target.equals("USD")) {
if (p.startsWith("X")) {
return new String[] { p, StringUtils.left(p, 4), p.substring(1, 4) };
} else {
return new String[] { p, StringUtils.left(p, 3), StringUtils.left(p, 3) };
}
} else {
if (p.startsWith("X")) {
return new String[] { p, StringUtils.left(p, 4), p.substring(1, 4) };
} else {
return new String[] { p, StringUtils.left(p, 3), StringUtils.left(p, 3) };
}
}
}
}
Resolve funktioniert nicht. Könnte mir sagen, wo mein Denkfehler ist?
resolve soll ein beliebiger Asset Name und das Traget Asset übergeben werden. Dann soll das richtige Asset Pair returned werden...