初学者的问题 MQL5 MT5 MetaTrader 5 - 页 476

 
Sergei Vladimirov:
顺便说一下,如果一个函数在你的版本中返回真,你为什么要把它声明为int,而且总是这样?)
修正为无效,把循环改成了反向,只要别人的订单不碰就行,谢谢!
 
你能告诉我如何使OnCalculate指标不是每一个tick都被调用,而只是在一个新的bar 时才被调用?
 
Hexen:
你能告诉我如何使OnCalculate指标不是每一个tick都被调用,而只是在一个新的bar 时才被调用?
这个函数将在每一个刻度线上被调用,但你可以在函数中制作一个新的条形控件。
 
Victor Nikolaev:
这个函数将在每一个刻度线上被调用,但你可以在函数里面做一个新的条形检查。

谢谢你,多多少少已经解决了。比较prev_calculated和rate_total,你可以看到新条形图 的出现。而在EA中,由于有了新的栏位--时间检查等,所以更加复杂。

 

不要对它们进行比较,这不是一个非常可靠的方法:变量prev_calculated在某些条件下可以被重置。记住当前酒吧的时间,并在下次调用时检查其变化。

// в самом начале функции OnCalculate()
bool bNewBar = false;

static datetime dtLastBarTime = time[rates_total-1];

if(time[rates_total-1] > dtLastBarTime)
{
   bNewBar = true;
   dtLastBarTime = time[rates_total-1];
}

PS。这是一个针对MT5的例子。在4中(如果时间[]数组被制成时间序列,则在5中)用时间[0]替换时间[rates_total-1]。

 
你好。

我在阅读了 "一步一步的写作指南 "一文后,决定创建一个简单的专家顾问。
MQL5 Expert Advisor for Beginners" (https://www.mql5.com/ru/articles/100)。

我测试了历史上的专家顾问,想知道如何改进它。
除了优化之外,首先想到的是
是使用拖曳式止损。关于这个问题,有一篇很好的文章。
"如何创建追踪止损- MQL5文章"()。
(https://www.mql5.com/ru/articles/134)。然而,一个
然而,出现了一个问题,文章所附的专家顾问不工作......即。
(my_first_ea_sartrailing.ex5)编译了,但没有交易。
日志说。
2015.11.28 22:54:38.973 2015.02.04 17:00:00 提醒:卖出订单设置请求失败 - 错误代码:4756
2015.11.28 22:54:38.973 2015.02.04 17:00:00 未能即时卖出0.10欧元兑美元,价格为1.14051 sl: 1.17051 tp: 1.04051 [无效请求] 。
帮助解决这个问题。
 
Sergei Vladimirov:

PS。这是一个针对MT5的例子。

谢谢你!
 

你好。

你能告诉我什么是最快和最正确的方式来删除所有由EA下的现有订单?是否真的可以用订单号创建一个数组,并删除每一个订单?难道不可能也得到一份有效订单的清单吗?

 
Антон:

你好。

你能告诉我什么是最快和最正确的方式来删除所有由EA下的现有订单?是否真的可以用订单号创建一个数组,并删除每一个订单?我们能否也得到一份有效订单的清单?

我们不需要一个数组。什么终端?

 
Sergei Vladimirov:

你不需要一个数组。哪个终端?

MT5

是的,我应该说,这需要在EA中实现。

我在mql4上发现了一个脚本--它与5不相关吗?几天前,我在某处看到一行类似 "orderscancelbymagicnumber "的函数,但我在文档中找不到任何东西......困惑。