自作绕开MQL5.Community的交易信号的思路
最近看到一下关于自作在内部网络拷贝交易的帖子,分享给大家。
本方法不需要从MQL5.Community订购信号,本地的交易情报当成信号,共其他主机订购跟从交易。
当前环境构成:1. 服务器侧有一台PC机,用手工交易,或者EA交易,2. 客户端侧可以有多台PC机,跟从交易
思路:在服务器侧增加一个EA(取名为MonitorTrade),其功能是检测服务器上的交易活动,一旦有交易增加或减少,则将此交易信息发布给各个客户端。交易信息的内容为货币对,买卖方向,买卖种类,lot数,open价格,新建还是关闭Position,期限等。另外,在客户端增加一个EA(取名为SlaveTrade),其功能是接受服务器发布的信息,并跟从这些信息被动交易。
要解决的问题:由于MQL4并不支持网络通讯,服务器侧的MonitorTrade不能将交易信息直接发布到客户端,客户端侧的SlaveTrade也不能直接接受服务器侧的信息。该怎么办呢?
解决问题的方法:MQL4是支持文件读写的。MonitorTrade将交易信息写入文件。另外用其他语言工具(比如VC++)编写一个服务器程序,该程序监视MonitorTrade写入的文件,并等待客户端的连接,当有文件写入是读取文件并把文件内容发送给建立链接的客户端。同样做一个客户端的程序,该程序链接到服务器,等待接收服务器发给的信息,一旦接受到信息,就写入另一个文件,此文件是提供给SlaveTrade使用的。
SlaveTrade将定时监视该文件,一旦有新的信息,则跟从这个信息进行自动交易。
这样一来,通过两个VC++的程序和文件的中转,就是先了客户端的EA能跟从服务器端的信号自动交易了。
如果是MQL5,由于MQL5已经支持网络直接通信,就不需要VC++程序作为中转了。
|
|
|
|
|
DDD
我已经实现了这个,不过不是用的你说的方法。
如果按照你这个思路,也要考虑好:多个信号怎么办,内存消耗怎么办。MT4/MT5之间的通用性等问题。
我叫这个为:远程跟单。 |
|
|
|
|
DD
多谢指教。这个方法的确有很多不足之处,不知道您是怎么实现的,能否公布出来让大家学习一下呢。 |
|
|
|
|
CCC
DD
C
DD
DD