Ошибки, баги, вопросы - страница 2139

 
fxsaber:

Пишу именно такие советники.

Я видел Ваши коды, Вы очень хороший и грамотный программист... 


Ситуацию даже не спасает 

   if(!TerminalInfoInteger(TERMINAL_CONNECTED))
     {
      Print(m_lan?"Нет подключения к сети интернет! ":"No connection to the Internet! ");
      return false;
     }
 
Vladimir Pastushak:

Ситуацию даже не спасает 

Поищите на форуме способы определения коннекта в MT5. Тема должна быть избитой.

 
fxsaber:

Поищите на форуме способы определения коннекта в MT5. Тема должна быть избитой.

Дело в том что даже подключившись номер счета некоторое время 0.

 

В справке написано 

Вызов PlaySound() с параметром NULL останавливает воспроизведение звука.

Но по факту звучание функции Alert  PlaySound(NULL) не останавливает, а должно.

 
Vladimir Pastushak:

При запуске терминала индикаторы не всегда возвращают ACCOUNT_LOGIN

0 11:00:01.880 Custom indicator tester EURUSD,H1: loaded successfully
0 11:00:01.887 tester EURUSD,H1: OnInit 0            < ----  AccountInfoInteger(ACCOUNT_LOGIN)  вернула 0
0 11:00:01.887 tester EURUSD,H1: initialized
0 11:00:01.887 tester EURUSD,H1: OnCalculate 0  < ----  AccountInfoInteger(ACCOUNT_LOGIN)  вернула 0
0 11:00:05.980 tester EURUSD,H1: OnCalculate 0  < ----  AccountInfoInteger(ACCOUNT_LOGIN)  вернула 0
0 11:00:06.654 tester EURUSD,H1: OnCalculate 0  < ----  AccountInfoInteger(ACCOUNT_LOGIN)  вернула 0
0 11:00:07.030 tester EURUSD,H1: OnCalculate 442394  < ----  AccountInfoInteger(ACCOUNT_LOGIN)  вернула номер счета
0 11:00:07.040 tester EURUSD,H1: OnCalculate 442394  < ----  AccountInfoInteger(ACCOUNT_LOGIN)  вернула номер счета

Исходный код

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

А какое отношение имеет индикатор к номеру счёта? Что изменится в индикаторе если изменить номер счёта пользователя? Если вы желаете привязать индикатор к конкретному счёту, пользуйтесь маркетом.

Vladimir Pastushak:

потому что 99,99% советников "шараш монташ" ....

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

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

Так проблема в индикаторе или советнике? Зачем в одну кучу всё сваливать? Какая связь между индикатором и реквотами???

 
Vladimir Pastushak:

Дело в том что даже подключившись номер счета некоторое время 0.

Там вот вам и условие нормального коннекта! Как только не ноль, коннект есть, иначе - нет.

 
Alexey Viktorov:

А какое отношение имеет индикатор к номеру счёта?

Почти такое же, что и советник. Индикатор может быть "торговым".

Что изменится в индикаторе если изменить номер счёта пользователя?

Только обнуление prev_calculated с соответствующим вызовом Calculate-события.

 
Vladimir Pastushak:

В справке написано 

Вызов PlaySound() с параметром NULL останавливает воспроизведение звука.

Но по факту звучание функции Alert  PlaySound(NULL) не останавливает, а должно.

PlaySound(NULL) останавливает звучащий в данный момент PlaySound(), а не Alert()

 

Расчёт индикатора никак не должен зависеть от коннекта. И от наличия интернета.

Индикаторы считаются на имеющихся данных и пересчитываются при приходе новых данных.

 
Slava:

Расчёт индикатора никак не должен зависеть от коннекта. И от наличия интернета.

Индикаторы считаются на имеющихся данных и пересчитываются при приходе новых данных.

Есть индикаторы, в которых ноль индикаторных буферов и OnCalculate фиктивно присутствует. Индикатор - это только вид  MQL-проги, а не расчет.

Причина обращения: