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("третий ордер на продажу закрыт");
elseAlert("ошибка закрытия третьего ордера на продажу", GetLastError());
bool close7=OrderClose(ticket2_sell, lot2, Ask, 20, clrRed);
if (close7==true)
Alert("закрыт второй модифицированный ордер на продажу");
elseAlert("ошибка закрытия второго модифицированного ордера на продажу ticket2_sell ", GetLastError());
Sob_01_0_1++;
Sob011++;
}
}
在这种情况下,当切换到#property strict时,如何正确处理错误:array out of range in ' ... ?
要像这样做
你可以用0以外的任何数字代替1。数字越大,指标开始时计算的条数就越少。
并删除
它是绝对无用的。
要像这样做
你可以用0以外的任何数字代替1。数字越大,指标开始时计算的条数就越少。
并删除
它是绝对无用的。
datetime t1=StrToTime(TimeToStr(dt, TIME_DATE)+" 10:00") + 24*60*60。
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);
大家晚上好。一个笨蛋提出的关于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)。
}
(删除功能单独写出来)。我做错了什么,错误在哪里?