Вы же сменили таймфрейм или символ ( 11:26:33 TTest GBPUSD,H1: uninit reason 3) , поэтому значения переменных остались прежними.
"Каждая присоединенная к графику программа завершает работу функцией deinit(). Функция deinit() запускается также при завершении работы клиентского терминала, при закрытии графика, непосредственно перед сменой финансового инструмента и/или периода графика, при удачной перекомпиляции программы, при смене входных параметров, а также при смене счета." - это из справки.
11:26:33 TTest GBPUSD,H1: deinitialized
11:26:33 TTest GBPUSD,H1: uninit reason 3
11:26:37 TTest GBPUSD,M15: initialized
Получается, что советник сначала завершает свою работу, а потом загружается снова, но со страрыми значениями переменных. Я возможно что-то упускаю. Поясните, пожалуйста, на пальцах, чтоб было понятнее.
При смене таймфрейма эксперт не выгружается, а просто деинициализируется. Строки loaded после unint нет.
Ясно, спасибо.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Вот простой советник, демонстрирующий ошибку. Или может я чего не понимаю, просветите.
Вот результат его работы:
11:26:16 TTest GBPUSD,H1: loaded successfully
11:26:23 TTest GBPUSD,H1: initialized
11:26:30 TTest GBPUSD,H1: massiv[0]=a
11:26:30 TTest GBPUSD,H1: massiv[1]=b
11:26:30 TTest GBPUSD,H1: massiv[2]=
11:26:30 TTest GBPUSD,H1: massiv[3]=
11:26:32 TTest GBPUSD,H1: massiv[0]=a
11:26:32 TTest GBPUSD,H1: massiv[1]=b
11:26:32 TTest GBPUSD,H1: massiv[2]=
11:26:32 TTest GBPUSD,H1: massiv[3]=
11:26:33 TTest GBPUSD,H1: deinitialized
11:26:33 TTest GBPUSD,H1: uninit reason 3
11:26:37 TTest GBPUSD,M15: initialized
11:26:37 TTest GBPUSD,M15: massiv[0]=a
11:26:37 TTest GBPUSD,M15: massiv[1]=b
11:26:37 TTest GBPUSD,M15: massiv[2]=a
11:26:37 TTest GBPUSD,M15: massiv[3]=b
11:26:38 TTest GBPUSD,M15: massiv[0]=a
11:26:38 TTest GBPUSD,M15: massiv[1]=b
11:26:38 TTest GBPUSD,M15: massiv[2]=a
11:26:38 TTest GBPUSD,M15: massiv[3]=b
Т.е. значение переменной num остается такое же, как до деинициализации. Билд 211 от 15.10.07
Я понимаю, что можно в начале init обнулить переменную, но все же.