- 一個多貨幣兌的EA載入某一圖表上,但必須要等待該貨幣兌的報價進來,EA才會執行OnTick()程序,有沒有什麼方式可以不用等待報價近來就直接掃描OnTick()程序
- 以下圖片,這樣寫是否可行?有沒有問題疑慮?
- 是否有其他更好的方式?
-
int OnInit() { //--- 创建一个1秒周期的计时器 EventSetTimer(1); } void OnDeinit(const int reason) { //--- 完成工作后销毁计时器 EventKillTimer(); } //+------------------------------------------------------------------+ //| Timer函数 | //+------------------------------------------------------------------+ void OnTimer() { //--- 你的程序 Monitor(); }
1、个人认为:OnTick()不要放在OnTimer()里。算法程序放在OnTimer()里。
2、似乎必须等待所在图表的报价,程序才会有响应。可能没有更好办法,只能加载到EURUSD之类的活跃货币对上。
void OnTick() { OnTimer(); }
Init設定好Timer的循環時間即可
我之前的回复不太好。但是找到了一篇文章可以完美解决你的问题。请参考:
在 MetaTrader 5 中实施多货币模式
在 MetaTrader 5 中实施多货币模式
- www.mql5.com
长期以来,人们对多货币分析和多货币交易存在极大的兴趣。随着 MetaTrader 5 和 MQL5 编程语言的公开发行,实施完备的多货币体系成为可能。在本文中,针对多个交易品种,我们提出一种方法来分析和处理所有到来的价格变动。让我们将 USDx 美元指数的多货币 RSI 指标作为示例。
感谢回覆