int ticket; double lots=0,stoploss=NormalizeDouble(MathMod(Close[1],0.005),5); double int_low=NormalizeDouble(Close[1]-stoploss,5); if(stoploss<0.009&&stoploss>=0.0006) { int c=0,d=0; for(int i=0;i<2000;i++) { if(Close[i]<int_low-0.0005) {c=i;break;} } for(int i=2;i<c+1;i++) { if(Close[i]>int_low+0.0005) {return;} } ticket=OrderSend(Symbol(),OP_BUY,2,Ask,2,int_low-0.00001,Close[1]+Point*315); }
以上代码是整数系统的多单部分
我设定的是当stoploss在6到9之间时才可以做单,昨天这个EA做了一单,但是stoploss=9.3。有人知道为什么吗
如下是我做单条件
double mod=NormalizeDouble(MathMod(Close[1],0.005),5);
if(mod<=0.0044&&mod>0.004)
{Alert("做空单");}
if(mod<0.001&&mod>=0.0006)
{Alert("做多单");}
策略测试时,当 mod 不在这个做单范围也会做单,是什么原因?有解决方法吗?
还是就是如何提高复盘模型的质量?