staticdatetime Old_Time;
datetime New_Time[1];
bool IsNewBar=false;
// копируем время текущего бара в элемент New_Time[0]int copied=CopyTime(_Symbol,_Period,0,1,New_Time);
if(copied>0) // ok, успешно скопировано
{
if(Old_Time!=New_Time[0]) // если старое время не равно
{
IsNewBar=true; // новый барif(MQL5InfoInteger(MQL5_DEBUGGING))
Print("Новый бар",New_Time[0],"старый бар",Old_Time);
Old_Time=New_Time[0]; // сохраняем время бара
}
}
else
{
Alert("Ошибка копирования времени, номер ошибки =",GetLastError());
ResetLastError();
return;
}
//--- советник должен проверять условия совершения новой торговой операции только при новом бареif(IsNewBar==false)
{
return;
}
告诉我,是否有一个函数可以发送一个位置的进一步工作(修改)使用,ulong deal; // Ticket deal,如果它是由交易的票,记得早?可能,这种选择需要一些复杂的算法,就像左手拂拭右耳?
大家晚上好!我看到人们对这个分支很感兴趣。关于冠军...
仍然没有检查我的数据从封闭的信息为冠军,虽然专家 - 检查!"。
他们什么时候会被检查?
大家晚上好!我看到人们对这个分支很感兴趣。关于冠军...
仍然没有检查我的数据从封闭的信息为冠军,虽然专家 - 检查!"。
他们什么时候会被检查?
大家晚上好!我看到人们对这个分支很感兴趣。关于冠军...
仍然没有检查我的数据从封闭的信息为冠军,虽然专家 - 检查!"。
他们什么时候会被检查?
我有一个问题。
文章中有一段代码,定义了一个新条的开始。
一切运作正常。但我想在最后一个if中插入不同的重度统计的计算。我想在一个新酒吧的时刻有最小的计算量。
这是我的问题。如果计算统计数字的时间相对较长(比如2秒),而且新旧柱状图之间的差距很小,那么这段代码将如何表现?
据我所知,当OnTick()函数 在计算时,刻度线将被跳过,但下一个刻度线对EA来说是新的,尽管它不是条形图中的第一个。
手工检查还没有成功
如果OnTick()函数 执行了2秒,那么所有在这个时间范围内的报价都会被EA忽略。这是你想澄清的一点吗?
在这里,这2秒被忽略了(以及这段时间内的刻度),但是在第三个刻度上,例如,另一个刻度会出现,代码会认为它是新的条形图?
当我运行EA时,下一个tick总是第一个,这一事实间接证实了这一点。
如果统计的时间是90秒,那么M1的新刻度线的条件将至少执行一次?
每个交易都有一个头寸标识符。使用这个标识符来搜索职位本身。
嗯,我已经在上面完成了。让我重复一遍:专家顾问的 "新 "报价是在下一个OnTick()函数完成后立即到达的报价,即使这个报价不是 "一个柱子上的第一个刻度"。 你的新柱子到来的条件是
...如果OnTick()函数 执行90秒,并在00.00.00开始,那么 "M1上的新勾选条件将在某一时刻执行",即00.01.30之后。