从MT4向IRC发布交易

时间:2012-04-17 05:56:08

标签: mirc metatrader4 mql4

我试图创建自己的小程序,将我的交易发布到IRC。我无法完成该计划。

然后我发现这个程序基本上完成了我想要做的事情。有两个问题:第一个问题是,我只想要一个简单的程序,使用mIRC的DDE将我的购买,销售,短信和封面发布到IRC,因为我想以与其他交易者相同的格式发布交易。

第二个问题是,MT4 EA似乎没有做任何事情。它没有连接到IRC。 MT4专家和期刊标签显示EA正常运行。我输入了服务器,频道和昵称的有效信息。我已经禁用了我的防火墙。我可以用IRC客户端连接到服务器端口6667。有人能引导我朝着正确的方向前进吗?或者也许告诉我代码有什么问题?

编辑:我注意到MT4专家标签中的[握手错误:0]和[连接错误:0]

完整MT4 EA脚本的副本位于本页底部[向下箭头]:http://sites.google.com/site/prof7bit/irc_signal/experimental-new-version

2 个答案:

答案 0 :(得分:1)

脚本运行正常,对我来说有点过于臃肿,而且它缺少我需要的小功能,所以我会将自己的版本注入其中并清理它。

问题在于服务器。我不知道为什么没有建立连接,但是我在不同的服务器上尝试了这个脚本,它连接并发布了我的交易,非常快。

这会打开其他选项。因为我无法连接到其他服务器,所以我可以向mIRC发送命令,而mIRC又可以通过内部脚本处理我需要做的事情。我宁愿不这样做,所以我希望我能找出为什么其他服务器没有确认或允许我的连接。

编辑:

我在这里回答了我自己的问题。

Winsock - Why isn't ZNC (and IRC bouncer) accepting my winsock connection?

我尝试了我的建议,以编程方式直接连接到mirc并发布交易,这样就提出了太多问题需要解决,而且对于任何实际使用而言都太慢了。我从来没有为mirc编写一个dll,这可能会更快地执行。如果您仍想做这样的事情,我使用名为pywinauto的自动编程python库来完成它。

我使用上面的脚本发布我的交易,但我是通过ZNC保镖完成的。这样,ZNC为我做了所有授权。我只需要通过ZNC进行身份验证。

答案 1 :(得分:0)

您是否看过剧本的这一部分?

/**
* this will be called by start()
* every minute. The server won't 
* send us pings then. (at least 
* the unreal ircd at ircforex behaves 
* this way). So we dont need to
* handle any incoming messages at all!
*/
void keepAlive(){
   static int last_time;
   int error;
   if (TimeCurrent() - last_time > 60){
          // send an empty line to the server. This will keep pings away.
      sendLine("");
      error = WSAGetLastError();
      last_time = TimeCurrent();
      if (error != 0){
         // we were disconnected, so reconnect.
         ircconnect();
         message("reconnect after timeout.");
         messageSummary();
      }
   }
}

这可能就是你的问题所在......