int ic=IndicatorCounted();
if(Bars-ic-1>1) {ic=reinit();}
int limit=Bars-ic-1; //BarsPrev=Bars; // кол-во пересчетовif(History!=0 && limit>History) limit=History-1; // кол-во пересчетов по историиfor(int i=limit; i>=1; i--) // цикл по непосчитанным и предпоследнему барам
{
int n;
int iShift=i+Shift;
if (i==0)
Input[i]=iClose(Symb, Period(), iShift);
else
Input[i]=(iHigh(Symb, Period(), iShift)+iLow(Symb, Period(), iShift))/2;
}
嗯,好吧,或者这个...但我在自己身上运行了这个猫头鹰,一切都很好,没有任何地方 "消失",订单打开,总体上表现得像一个EA )
谢谢你,非常感谢你,这很有意思!这说明我的电脑出现了故障!
谢谢你,非常感谢你,很有意思!因此,我的电脑出现了故障!
你有没有试过 "重启 "它?))
- 什么? 我很抱歉,我不明白。
- 什么? 我很抱歉,我不明白。
下午))))我写了我的第一个EA,但结果是有问题的)))))))。 这个EA只放卖单,尽管买入条件非常简单,它似乎没有看到。
if (ZZ2< pp1 ) { OpenPosition ("", OP_BUY, Lots_New,SLB,TPB, mn); }
如果(pp1 < ZZ2) {OpenPosition("", OP_SELL, Lots_New, SLS,TPS, mn); }
如果有人能看一下这段代码,我将非常感激)))。
提前感谢。
PS.如果你愿意,还可以加上追踪止损和零损失=)
下午好)))我写了我的第一个EA,但结果是有问题的)))))))。 这个EA只下卖单,尽管买入条件是最简单的,但它似乎没有看到。
if (ZZ2< pp1 ) { OpenPosition ("", OP_BUY, Lots_New,SLB,TPB, mn); }
如果(pp1 < ZZ2) {OpenPosition("", OP_SELL, Lots_New, SLS,TPS, mn); }
如果有人能看一下这段代码,我将非常感激)))。
粗略一看,一切正常......地段计算情况如何,是否通过了(我知道应该有一条日志信息)?试着用一个固定的开始。
一般来说,像这样检查交易条件的执行情况。
下午好 ))))我写了我的第一个EA,但结果是有问题的,)))))))这个EA只下卖单,尽管买入条件非常简单,但EA似乎没有看到。
if (ZZ2< pp1 ) { OpenPosition ("", OP_BUY, Lots_New,SLB,TPB, mn); }
如果(pp1 < ZZ2) {OpenPosition("", OP_SELL, Lots_New, SLS,TPS, mn); }
如果有人看一下代码,我将非常感激)))。
奇怪,从理论上讲,它不应该看到抢手的SELL,因为你用pa而不是pb。
double TPS=NormalizeDouble(pa-tp*po, Digits);//计算卖出的Tp
double SLS= NormalizeDouble(pa+sl*po, Digits);//计算卖出的SL
有这样一种重新计算的算法。
根据我的理解,它计算所有的小节,除了最后一个。
你能告诉我如何让它在i=0的时候重新计算最后一棒吗(在循环中已经有一个条件)?