MCPcopy Index your code
hub / github.com/ccxt/ccxt / safeTrade

Method safeTrade

java/lib/src/main/java/io/github/ccxt/Exchange.java:6969–7000  ·  view source on GitHub ↗
(Object trade, Object... optionalArgs)

Source from the content-addressed store, hash-verified

6967 }
6968
6969 public Object safeTrade(Object trade, Object... optionalArgs)
6970 {
6971 Object market = Helpers.getArg(optionalArgs, 0, null);
6972 Object amount = this.safeString(trade, "amount");
6973 Object price = this.safeString(trade, "price");
6974 Object cost = this.safeString(trade, "cost");
6975 if (Helpers.isTrue(Helpers.isEqual(cost, null)))
6976 {
6977 // contract trading
6978 Object contractSize = this.safeString(market, "contractSize");
6979 Object multiplyPrice = price;
6980 if (Helpers.isTrue(!Helpers.isEqual(contractSize, null)))
6981 {
6982 Object inverse = this.safeBool(market, "inverse", false);
6983 if (Helpers.isTrue(inverse))
6984 {
6985 multiplyPrice = Precise.stringDiv("1", price);
6986 }
6987 multiplyPrice = Precise.stringMul(multiplyPrice, contractSize);
6988 }
6989 cost = Precise.stringMul(multiplyPrice, amount);
6990 }
6991 var resultFeeresultFeesVariable = this.parsedFeeAndFees(trade);
6992 var resultFee = ((java.util.List<Object>) resultFeeresultFeesVariable).get(0);
6993 var resultFees = ((java.util.List<Object>) resultFeeresultFeesVariable).get(1);
6994 Helpers.addElementToObject(trade, "fee", resultFee);
6995 Helpers.addElementToObject(trade, "fees", resultFees);
6996 Helpers.addElementToObject(trade, "amount", this.parseNumber(amount));
6997 Helpers.addElementToObject(trade, "price", this.parseNumber(price));
6998 Helpers.addElementToObject(trade, "cost", this.parseNumber(cost));
6999 return trade;
7000 }
7001
7002 public Object createCcxtTradeId(Object... optionalArgs)
7003 {

Callers 15

parseTradeMethod · 0.45
parseTradeMethod · 0.45
parseTradeMethod · 0.45
parseTradeMethod · 0.45
parseTradeMethod · 0.45
parseTradeMethod · 0.45
parseTradeMethod · 0.45
parseTradeMethod · 0.45
parseTradeMethod · 0.45
parseTradeMethod · 0.45
parseTradeMethod · 0.45
parseTradeMethod · 0.45

Calls 11

getArgMethod · 0.95
safeStringMethod · 0.95
isTrueMethod · 0.95
isEqualMethod · 0.95
safeBoolMethod · 0.95
stringDivMethod · 0.95
stringMulMethod · 0.95
parsedFeeAndFeesMethod · 0.95
addElementToObjectMethod · 0.95
parseNumberMethod · 0.95
getMethod · 0.45

Tested by

no test coverage detected