Documentation on MQL5: Account Information / AccountInfoDouble
- www.mql5.com
Account Information / AccountInfoDouble - Documentation on MQL5
非常感谢
那怎么计算当前的净值最大还能买卖多少手呢? 谢谢
king1898:
那怎么计算当前的净值最大还能买卖多少手呢? 谢谢
可以参考"Moving Average.mq5" 中的代码
//+------------------------------------------------------------------+ //| Calculate optimal lot size | //+------------------------------------------------------------------+ double TradeSizeOptimized(void) { double price=0.0; double margin=0.0; //--- select lot size if(!SymbolInfoDouble(_Symbol,SYMBOL_ASK,price)) return(0.0); if(!OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,1.0,price,margin)) return(0.0); if(margin<=0.0) return(0.0); double lot=NormalizeDouble(AccountInfoDouble(ACCOUNT_FREEMARGIN)*MaximumRisk/margin,2); // 此处忽略了一些代码 ... //--- normalize and check limits double stepvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP); lot=stepvol*NormalizeDouble(lot/stepvol,0); double minvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN); if(lot<minvol) lot=minvol; double maxvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX); if(lot>maxvol) lot=maxvol; //--- return trading volume return(lot); }
以上代码是复制来的,我删除了一部分,"MaximumRisk" 是一个输入参数,如果你要看最多能买多少手,就用100代替
请问是否有内置函数类似PositionGetDouble(POSITION_PROFIT)直接得到净值和亏损,
当浮亏达到10%,则止损,
还是要使用其他标准类里的函数,请指教!