用利润除以手数就可得出点数。
jinchunlong2020:
如题,
请教大神,获取当前订单利润点数的代码怎么写?
這個要知道你是單筆還是總的
單筆你要先挑出來
int
i=0; //用來指定 單張訂單的 |
如果是整個帳戶的
double
AccountProfitPoint=AccountInfoDouble(ACCOUNT_PROFIT)*Point; Print(AccountProfitPoint); |
方法很多種 可以一一找出來
jinchunlong2020:
如题,
请教大神,获取当前订单利润点数的代码怎么写?
OrderProfit();当前订单利润。
需要先orderselet选取后才能获取到
比如 ;
double pronft=;
if(OrderSelcet(12010,1,0)){
pronft= OrderProfit()+ OrderCommission()+ OrderSwap();}
上面代码意思是定义pronft浮点数变量默认值为0;
在当前订单里面找到订单编号为12010这个订单后。
pronft这个变量的值等于12010这个单子的利润+手续费+隔夜费;
你要的是这样的吗?
double FloatingProfit(bool returnMaxProfit = true) { if(PositionsTotal() == 0) return 0; static double maxProfitPoints = 0.0; double ProfitPoints = 0.0; double openPrice = PositionGetDouble(POSITION_PRICE_OPEN); long positionType = PositionGetInteger(POSITION_TYPE); ENUM_POSITION_TYPE TypeBuy = POSITION_TYPE_BUY ; ENUM_POSITION_TYPE TypeSell = POSITION_TYPE_SELL ; double price = positionType == TypeBuy ? SymbolInfoDouble(_Symbol, SYMBOL_ASK) : SymbolInfoDouble(_Symbol, SYMBOL_BID) ; if(PositionGetDouble(POSITION_PROFIT) > 0 && PositionGetString(POSITION_SYMBOL) == _Symbol) ProfitPoints = positionType == TypeBuy ? price - openPrice : openPrice - price; if(ProfitPoints > maxProfitPoints) maxProfitPoints = ProfitPoints; return returnMaxProfit ? maxProfitPoints : ProfitPoints; } double ProfitPoint = FloatingProfit(false); // 获取实时浮动盈利的点数 double MaxFloatingPoint = FloatingProfit(true); // 获取最大浮动盈利的点数
盈利金额=盈利点数*手数*该货币对的换算比率 盈利点数=盈利金额/(手数*该货币对换算比率)
如题,
请教大神,获取当前订单利润点数的代码怎么写?