- 显示:
- 1585
- 等级:
- 已发布:
- 2015.02.06 15:30
- 已更新:
- 2016.11.22 07:33
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
这段代码允许您设置依据净值百分比计算的最大风险。
它检查买卖手数是否与风险相适。若否, 自动调整到与设置风险相适的手数。
代码:
bool UseMaximumPercentageRisk=true; double MaximumPercentageRisk=25; #include <Trade\SymbolInfo.mqh> //+------------------------------------------------------------------+ //| GetLotSize RPTrade | //+------------------------------------------------------------------+ double GetLotSize(double lotsize) { //--- Gets pair specs CSymbolInfo symInfo; int digits_bn=symInfo.Digits(); double points_bn=symInfo.Point(); string symbol_bn=_Symbol; //--- adjust lot int tmpdecimal=1; double old_lot=lotsize; //--- if((NormalizeDouble(AccountInfoDouble(ACCOUNT_FREEMARGIN)*(MaximumPercentageRisk/100)/1000.0,tmpdecimal)<lotsize) && UseMaximumPercentageRisk) //is lot fitting risk ? { lotsize=NormalizeDouble(AccountInfoDouble(ACCOUNT_FREEMARGIN)*(MaximumPercentageRisk/100)/1000.0,tmpdecimal); //Claculates new Lotsize if(lotsize<SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_MIN)) //is LotSize fitting minimum broker LotSize ? { lotsize=SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_MIN); //No! Setting LotSize to minimum's broker LS Print(_Symbol," Lot adjusted from ",old_lot," to minimum size allowed by the server of ",lotsize); } else { Print(_Symbol," Lot adjusted from ",old_lot," to ",lotsize," to comply with Maximum Risk condition. Each trade can risk only ",MaximumPercentageRisk,"% of free margin."); //Yes! if(MathAbs(lotsize/SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_STEP)-MathRound(lotsize/SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_STEP)))>1.0E-10) //Is LotSize fitting Broker's allowed step ? { lotsize=SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_STEP)*NormalizeDouble(lotsize/SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_STEP),0); //NO! recalculates LotSize. Print("M-",_Symbol," Warning: Your calculated percentage at risk lot size of was not a multiple of minimal step",SymbolInfoDouble(symbol_bn,SYMBOL_VOLUME_STEP),". Lot size changed to",lotsize); } } } return(lotsize); }
由MetaQuotes Ltd译自英文
原代码: https://www.mql5.com/en/code/2142

本交易系统采用 BlauSMStochastic 振荡器。

带有彩色信号级别的经典 CCI。在时间的某个瞬间,当 CCI 指标处于超卖和超买区,则指标改变颜色与趋势方向相应。不断增长的趋势,指标颜色为菜绿色,下降则为红色。