任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 1077

 

在这种情况下,当切换到#property strict时,如何正确处理错误:array out of range in ' ... ?



int limit=rates_total-prev_calculated;

ArrayResize(?,?,?);


for(i=0; i<limit; i++)
 {
  if(Буфер[i]-Буфер[i+1] < 0.0)  Буф2[i]=Буфер[i];
 }
 

要像这样做

int limit = prev_calculated > 0 ? rates_total-prev_calculated : rates_total-1;

你可以用0以外的任何数字代替1。数字越大,指标开始时计算的条数就越少。

并删除

ArrayResize(?,?,?);

它是绝对无用的。

 
AlexeyVik:

要像这样做

你可以用0以外的任何数字代替1。数字越大,指标开始时计算的条数就越少。

并删除

它是绝对无用的。

我现在明白了。谢谢你的建议。
 
伙计们,有一条命令t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00");我怎样才能不设置今天10:00,而设置明天10:00呢? 请给我提示。
 
kocunyc89 :有一条命令t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00");我如何不设置今天10:00而设置明天10:00? datetime dt=TimeLocal()。
datetime t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00") + 24*60*60。

Alert("Now = ",dt, " Tomorrow at 10:00 = ",t1);

 
LRA:
kocunyc89 :有一条命令t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00");我如何不设置今天10:00而设置明天10:00? datetime dt=TimeLocal()。
datetime t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00") + 24*60*60。

Alert("Now = ",dt, " Tomorrow at 10:00 = " ,t1);

非常感谢您!
 
 if (Sob_01_0_1==1 && OrderSelect(ticket3_buy, SELECT_BY_TICKET)==true)
        {
         Alert("Sob_01_0_1=",Sob_01_0_1);
         Alert("здесь код перестает работать?"); 
                   
        if (OrderTakeProfit()>0 && OrderCloseTime()>0)
           {
           Alert("третий ордер на покупку закрыт, событие 011");
           bool close6=OrderClose(ticket3_sell, lot3, Ask, 20, clrRed);
                if (close6==true)
                   Alert("третий ордер на продажу закрыт");
                   else Alert("ошибка закрытия третьего ордера на продажу", GetLastError());
           bool close7=OrderClose(ticket2_sell, lot2, Ask, 20, clrRed);
                if (close7==true)
                   Alert("закрыт второй модифицированный ордер на продажу");
                   else Alert("ошибка закрытия второго модифицированного ордера на продажу ticket2_sell ", GetLastError());
               Sob_01_0_1++;
               Sob011++;
           }
         }
 
bobrush:
晚上好,你能告诉我错误是什么吗?代码停止工作后,Alert("此处代码停止工作?");。 也就是说,当ticket3_buy以盈利收盘时,那么if语句就不会被执行
 

大家晚上好。一个笨蛋提出的关于iLowest和iHighest函数的问题。一开始,我想用这些函数在我的EA中找到高/低点的突破,然后下一个挂单。在iLowest中一切正常,但iHighest却没有设置订单。然而,这只是一句话,因为我已经用不同的方式解决了这个问题。现在,如果一个挂单被取消,我必须删除它,以新的价格打开它。我又尝试使用了上述函数。iLowest和删除一个待定的 买入订单 没有问题;我在iHighest删除一个卖出订单时有问题--当一个条件尚未满足(价格低于最高点)时,订单被删除,一个新的订单被放置,被再次删除,如此循环。如果价格超过了最高点,它就会被删除,新的价格就不会被执行,但是一旦当前价格低于之前的最高点,"争夺 "就会重新开始。

这些条件的写法如下

如果(iHighest(NULL, 0, MODE_HIGH, 70, 2) < iHigh(NULL, 0, 1)

{

DeleteOrders(OP_SELLSTOP, Magic)。

}

如果(iLowhest(NULL, 0, MODE_HIGH, 70, 2) > iLow(NULL, 0, 1)

{

DeleteOrders(OP_BUYSTOP, Magic)。

}

(删除功能单独写出来)。我做错了什么,错误在哪里?

 
很抱歉给大家带来不便,一切都已经解决了。我在EA中写的删除条件与我在论坛上写的略有不同--没有相对于当前条形的偏移。