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

 
Vladislav Andruschenko:

в общем результаты не однозначны, тест грубый - на быструю руку.:

скрипт просто выводит время и цену на тестере:

..................

 

виртуальная память используется? попробуйте отключить. (только если Windows на SSD)

в Windows 7 правой кнопкой мышки по "Мой компьютер", затем "Свойства", затем в списке слева "Дополнительные свойства системы" и последовательно слева-направо:

У меня на HDD, поэтому виртуальная память используется

 
все отключено 
 
Vladislav Andruschenko:
все отключено 
агент - это понятно. Транспьюттер - это круче чем один комп) Самые сложные задачи во всем мире решают именно агентами.
 
Господа, администраторы и просто опытные пользователи метатрейдера4, выручайте пожалуйста в очередной раз.
Один из подписчиков моего сигнала пожаловался на то, что один из трейдов, у него дублировался, в то время, как на моём счёте он был только один. Что ему нужно подкрутить в терминале, что бы из бежать в будущем подобного сценария ?
 
Artem Prischepa:
Господа, администраторы и просто опытные пользователи метатрейдера4, выручайте пожалуйста в очередной раз.
Один из подписчиков моего сигнала пожаловался на то, что один из трейдов, у него дублировался, в то время, как на моём счёте он был только один. Что ему нужно подкрутить в терминале, что бы из бежать в будущем подобного сценария ?
На стороне подписчика Открытие двух терминалов приводит к дублированию получаемого сигнала.
 
lilita bogachkova:
На стороне подписчика Открытие двух терминалов приводит к дублированию получаемого сигнала.
Если можно, то об этом поподробнее. Если только 1 терминал подписан на сигнал, то как наличие 2-го открытого терминала может дублировать открытие позиции?
 
Maxim Khrolenko:
Если можно, то об этом поподробнее. Если только 1 терминал подписан на сигнал, то как наличие 2-го открытого терминала может дублировать открытие позиции?

Был какой то бесплатный сигнал, подписалась. Оставила компьютер работать и на другом компьютере открыла терминал для тестирования стратегий (счет тот же), оба терминала работает с портабле. Смотрю на счёте открылась сделка, потом еще одна, потом еще, а на стороне сигнала на половину меньше. Закрыла один терминал и сделки перестали дублироваться.

 

 

 

 

 МТ4. Хочу обратить внимание на отличие в порядке инициализаций глобальных переменных и внешних переменных extern. В документации об этом не сказано.

Внешняя переменная extern располагается в глобальной области видимости и по виду переменных( глобальная или локальная) относится к глобальным, как об этом пишется в документации и учебнике Ковалёва.

Т.к в документации о порядке инициализации extern ничего не сказано, то логичен вывод что порядок инициализации   extern такой же как и у глобальной переменной как таковой.

На самом деле различия существенные.  Глобальная переменные а и b  инициализируется однократно перед выполнением первой функции init сохраняют свои первоначальные (или измененные в коде значения) если произошла смена таймфрейма или инструмента на графике.

Переменная extern  int с  не сохраняет измененного в коде значения  и если произошла смена таймфрейма или инструмента на графике принимает первоначальное заданное значение. Инициализируется заново. Ниже код это показывающий.

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

Ниже код это показывающий. Сменив несколько раз таймфрейм или инструмент на графике видно , что а и b растут, а с сохраняет первоначальное значение.

extern int c=1;
int a=1,b=1;
void  OnInit()
  {Print(" a=",a," b=",b," c=",c);
  a++;b++;c++;
  }


 
Yuri Evseenkov:

 МТ4. Хочу обратить внимание на отличие в порядке инициализаций глобальных переменных и внешних переменных extern. В документации об этом не сказано.

Ага, есть такое дело.

#property strict
extern int c=1;
int a=1,b=1;
int OnInit()
  {
   Print(" a=",a," b=",b," c=",c); a++;b++;c++;
   return(INIT_SUCCEEDED);
  }
void OnDeinit(const int reason) { }
void OnTick() { }


 
Есть ли на сервере МТ4 возможность запретить функцию CloseBy?
Причина обращения: