这个任务在MQL4中原则上可以解决吗?

 

任务是:在一个终端中,有9个不同的货币对,8个EA在每个货币对上工作,每个都被允许在第9个货币对上交易,我的 "管理 "EA,监控有多少个货币对和分别的交易EA副本可以在同一时间开单。所有专家顾问都服从于一个GLobal变量。我写了一个简单的循环,它读取已经打开的订单的 "神奇数字",不允许打开其他EA的新订单,设置禁止交易的控制全局变量的值。

这就是 "情景下 "应该有的情况。这不是真正的工作方式。问题是,在我的 "管理 "EA有时间设置禁止交易的全局变量的值 之前,工作的EA有时间在6个货币对上开单,而不是允许的2个 该算法工作正常,如果我先启动EA管理器,然后让交易EA进行交易,那么超过2个 EA(2个货币对)将无法打开(被EA管理器设置的全局变量所禁止)。

是否可以在MQL4中设置一个优先系统,以便首先执行EA的代码,然后再执行所有其他的EA?

我试着循环start(),也许我做错了什么,但终端挂起了,但什么也没发生。

对一个新手的帮助。

 
Zakyza:

有没有可能在MQL4中设置一个优先级系统,使EA代码首先被执行,然后再执行所有其他的EA?

我试着循环start(),也许我做错了什么,但我得到的只是终端的暂停。

对于一个初学的专业人员,我需要一些帮助。

这是有可能的。例如,为终端增加一个变量,只有他能管理,而对其他人来说,这将成为一种工作许可。

我明白,我建议的是你已经实施的东西。显然,这是不正确的做法。

如果管理顾问没有时间改变终端变量,就不应该允许奴隶们进行交易。

 
看看这个函数。这是MQL4中唯一处理内核级的函数(提供原子访问)。它应该有帮助。
 
tara:
可能的。例如,通过添加另一个只有他能控制的终端变量,而对其他人来说,这将成为工作的许可。


没有时间让EA经理设置全局变量的期望值
 
Zakyza:

EA经理没有时间来设置全局变量的正确值

好吧,在奴隶醒过来之前,你不必给他呼吸的权利。
 
Zhunko:
看看这个函数。这是MQL4中唯一处理内核级的函数(提供原子访问)。它应该有帮助。

谢谢你,我希望这对我有帮助,我不知怎么就错过了。"当几个同时工作的专家顾问在一个客户终端内互动时,可用于信号组织"--它给人以希望 虽然,如果 GlobalVariableSetOnCondition 最后一回合从我的EA的start()开始调用,在EA已经进入交易后,我看不出会有什么不同
 
tara:

好吧,在奴隶醒过来之前,你不必给他呼吸的权利。

你是如何组织的呢?让奴隶们手动交易是不可能的。
 
如果奴隶议员是偷来的议员,那么你就来错地方了。
 
为什么被盗?EA的作者自己把它免费放在那里,我只是运行了几份,想通过全局变量 来组织它们。你为什么这么说?
 
我说:如果。
 
tara:
我说:如果。

好的。不,不是偷来的。