Размещать сделки в IRC от MT4

Я попытался создать свою собственную небольшую программу для публикации своих сделок в IRC. У меня были проблемы с завершением программы.

Затем я нашел эту программу, которая, по сути, выполняет то, что я пытаюсь сделать. Есть две проблемы: Первая проблема, я просто хочу простую программу, которая будет публиковать мои покупки, продажи, шорты и покрытия в IRC, используя DDE mIRC, потому что я хочу публиковать сделки в том же формате, что и другие трейдеры.

Вторая проблема в том, что советник MT4, похоже, ничего не делает. Он не подключается к IRC. Эксперты MT4 и вкладки журнала показывают, что советник работает правильно. Я ввел правильную информацию для сервера, канала и ник. Я отключил свой брандмауэр. В противном случае я могу подключиться к порту сервера 6667 с клиентами IRC. Может ли кто-нибудь направить меня в правильном направлении? Или, может быть, скажите мне, что не так с кодом?

РЕДАКТИРОВАТЬ: я заметил [ошибка рукопожатия: 0] и [ошибка подключения: 0] на вкладке Эксперт в MT4

Копия полного скрипта MT4 EA находится внизу этой страницы [стрелка вниз]: http://sites.google.com/site/prof7bit/irc_signal/experimental-new-version

2 ответа

Решение

Сценарий работает отлично, он слишком раздут для меня и ему не хватает небольшой функции, которая мне нужна, поэтому я добавлю в нее свою собственную версию и уберу ее.

Проблема была в сервере. Я не знаю, почему не было установлено соединение, но я попробовал скрипт на другом сервере, и он подключился и разместил мою сделку, впечатляюще быстро.

Это открывает другие варианты. Поскольку я не могу подключиться к другому серверу, я могу отправлять команды в mIRC, которая, в свою очередь, может обрабатывать то, что мне нужно, с помощью внутреннего скрипта. Я бы предпочел не делать этого, поэтому я надеюсь, что смогу выяснить, почему другой сервер не подтверждает или не разрешает мое соединение.

РЕДАКТИРОВАТЬ:

Я ответил на свой вопрос здесь.

Winsock - Почему ZNC (и IRC-баунсер) не принимают мое соединение Winsock?

Я попробовал мое предложение программно подключиться к mirc напрямую и опубликовать сделки, таким образом, было слишком много проблем для решения, и это было слишком медленно для любого практического использования. Я никогда не удосужился написать dll для mirc, который мог бы быть намного быстрее в исполнении. Если вы все еще хотите сделать что-то подобное, я сделал это с помощью библиотеки Python для автоматизированного программирования под названием pywinauto.

Я размещаю свои сделки, используя скрипт выше, но я делаю это через вышибалу ZNC. Таким образом, ZNC делает всю авторизацию за меня. Я должен только аутентифицироваться с ZNC.

Вы видели эту часть сценария?

/**
* 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();
      }
   }
}

Это, вероятно, где ваша проблема...

Другие вопросы по тегам