Обсуждение статьи "Работа с СУБД MySQL из MQL5 (MQL4)" - страница 4

 
ingvar_e:

Установка 32-битной M5 прошла нормально, компиляция прошла нормально, но я не смог получить значение тика по

SymbolInfoDouble(pair,SYMBOL_TRADE_TICK_VALUE)

возвращает 0;

Возможно, это не очень хорошая идея запускать 32-битный MT5 на 64-битной машине. Есть и другие признаки неисправности. Следующая попытка - установить windows 32 на мой 64-битный компьютер.

Вечно эти длинные обходные пути уводят далеко от основного курса :-(

Похоже, мне придется отказаться от этого инструмента и перейти к основам MySQL. Слишком много хлопот с установкой новой windows XP и нет ключа W7.

Я работаю над этим вопросом со службой технической поддержки, надеюсь, что скоро мы услышим какие-нибудь хорошие новости.

Что касается TICK_VALUE, у меня тоже были такие же проблемы даже в MT4. Вот обходной путь, который я использую:

tick_value = 0;
while (tick_value<=0) { tick_value = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE);}

или

tick_value = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE);
while (!MathIsValidNumber(tick_value))
      {
       Sleep(50);
       tick_value = SymbolInfoDouble(symbol, SYMBOL_TRADE_TICK_VALUE); 
      }
 
elugovoy:

Я работаю над этим вопросом со службой поддержки, надеюсь, что скоро мы услышим какие-нибудь хорошие новости.

Что касается TICK_VALUE, у меня тоже были такие же проблемы даже в MT4. Вот обходной путь, который я использую:

или

Я попробую это :-)

Не работает. Застрял в цикле.

 

У меня есть идея по поводу проблемы тикового значения. Я запускаю мультивалютный советник и вначале получаю много информации по каждой паре. Так что это становится немного похоже на "забивание". Я изменю это так.

чтобы тиковое значение запрашивалось только при необходимости. (и сохраняться)

- Обновлено --

Не совсем в зеленом цвете. Сделал вышеуказанное изменение. Оптимизация по-прежнему работает. При запуске советника сообщений об ошибках нет. ОК будет, когда советник совершит сделку. Приходится ждать.

Это запуск 32-битной версии советника в 64-битной среде Windows 7. Это хотя бы временно решит проблему, если сработает.

Я получаю значение Tickvalue только тогда, когда первый ордер уже в пути, и сохраняю его.

 

OK, установка 32-версии путем добавления "/32" к программе установки MT5 работает нормально на компьютере с windows 7 64 bit, и инструмент mysql также работает нормально.

Вернемся к основным проблемам проектирования и тестирования советника,

 
mat.twg:

Спасибо за статью! Сколько решений не пробовал везде одно и то же, если Вас не затруднит посмотрите, пожалуйста, на лог, я ничего понять не могу....

MySQL сервер: 

  • Сервер: localhost via TCP/IP
  • Версия сервера: 5.6.10
  • Версия протокола: 10
  • Пользователь: root@localhost
  • MySQL-кодировка: UTF-8 Unicode (utf8) 
  • База InnoDB, UTF8-General-Ci

MT5 build 1035

OS: Win8.1 x64

Это ошибка MT5 build 1035, x64. Сервисдеск поставлен в известность и гарантируют исправление в следующем билде.

Проблема заключается в приеме MQL программой строковых значений из динамической библиотеки.

В MT5 build 1035 x32, работает без этой ошибки. 

 
ingvar_e:

OK, установка 32-версии путем добавления "/32" к программе установки MT5 работает нормально на компьютере с windows 7 64 bit, и инструмент mysql также работает нормально.

Вернемся к основным проблемам проектирования и тестирования советника,

Здравствуйте, Ингвар,

Служба поддержки MetaQuotes обещала исправить это в следующем билде MT5.

Так что нам остается только ждать выхода следующего билда MT5.

Спасибо

 
elugovoy:

Здравствуйте, Ингвар,

Служба поддержки MetaQuotes обещала исправить это в следующем билде MT5.

Так что нам остается только ждать выхода следующего билда MT5.

Спасибо

Спасибо за информацию elugovoy. А пока я запустил 32 битную версию. Устанавливаю с опцией /32. работает отлично.

Отличная штука. Сохраняю параметры торгов скриптом из файла и получаю их в советнике. MySQL работает на моем сервере, поэтому я

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

 

Еще раз привет.

Вышел новый билд 1060. Вы проверяли, исправили ли они это?

 
ingvar_e:

Еще раз привет.

Вышел новый билд 1060. Вы проверяли, исправили ли они это?

Да, теперь все работает нормально (тестировали билд 1062).
 

Хорошо, я протестировал 1060, и он тоже работает нормально.

Хорошо, упрощает тестирование. Избавьтесь от 32 бит