【发布时间】:2021-05-30 06:51:03
【问题描述】:
请看下面的脚本:
void OnStart()
{
Alert(IsTradeAllowed()); //alert 1
Alert(IsTradeAllowed(NULL, TimeGMT())); //alert 2
Alert(IsTradeAllowed(Symbol(), TimeGMT())); //alert 3
Alert(IsTradeAllowed("GBPUSD", TimeGMT())); //alert 4
}
这会返回:
true //for alert 1
true //for alert 2
false //for alert 3
false //for alert 4
当警报 2 返回:真时,我希望警报 3 和警报 4 返回真。
我曾尝试在工作日的一天中多次运行代码。该代码在周末返回相同的结果。我还尝试将代码放入脚本和 EA 中。每次我得到相同的结果。对此有解释吗?我已经尝试过这里的建议:https://www.mql5.com/en/docs/runtime/tradepermission
Symbol() 返回:“GBPUSD”。在我看来,每个警报都应该返回 true,但这里似乎并非如此。顺便说一句,我注意到如果脚本在 MetaEditor 中运行,Symbol() 会返回模拟账户监视列表顶部的符号,但是如果在模拟账户中运行,它会返回图表上显示的符号。
经纪人是 Oanda。
21 年 4 月 3 日 19:55 更新
我现在发现,如果我右键单击市场观察并选择:全部显示,则会出现更多符号。然后我可以看到一些符号是灰色的,而一些符号不是。未变灰的符号,例如USDGBP-g 返回我在运行上面的程序时所期望的,即 alert 1-alert 4 =true。变灰的符号,例如USDGBP 返回真;真的;错误的;在上面的程序中为假。我现在有两个问题:
-
为什么:
IsTradeAllowed(NULL, TimeGMT()); //alert 2对灰显的符号返回 true? -
GBPUSD-g 中的 -g 是什么意思?
【问题讨论】:
标签: mql4