Скачать MetaTrader 5

Глючит MetaTrader 5 или переход с MetaTrader 4

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Трейдеры написали уже больше 300 статей. Напиши и ты свою!
Roman Starinskij
1870
Roman Starinskij 2015.06.29 09:37 

Заметил интересную работу в МТ5, возможно это только у меня такое.

1. Вывожу на экран данные через функцию Comment ("123"). Данные отображаются, все хорошо.
Следующей попыткой пытаюсь очистить данные путем вывода функции Comment (""). На экране продолжают висеть старые "123".
Такую очистку можно применять только в МТ4?

2. Формирую вывод значений по буферу индикатора, например провести линию от Хая 5-го бара до Лоу 4-го бара. Линия проводится, здорово.
В настройках указано "indicator_type1 DRAW_SECTION".
Меняю код на провести линию от Хая 6-го бара до Лоу 3-го бара. Компилирую... Ничего не поменялось. Линия проведена по старому условию.
При закрытии-открытии графика с заново установкой индикатора линия прорисовывается правильно.

3. Есть переменная (int Myvar;)
В МТ4 если ее вывести на экран получаю значение "0".
Вывожу переменную в МТ5 и получаю значение "489433488". От куда оно берется?

Я не правильно работаю с МТ5? В МТ4 с такими моментами все в порядке. Откройте глаза на эти истины, пожалуйста. :)

Vladimir Pastushak
68847
Vladimir Pastushak 2015.06.29 10:00  
Roman Starinskiy:

Заметил интересную работу в МТ5, возможно это только у меня такое.

1. Вывожу на экран данные через функцию Comment ("123"). Данные отображаются, все хорошо.
Следующей попыткой пытаюсь очистить данные путем вывода функции Comment (""). На экране продолжают висеть старые "123".
Такую очистку можно применять только в МТ4?

2. Формирую вывод значений по буферу индикатора, например провести линию от Хая 5-го бара до Лоу 4-го бара. Линия проводится, здорово.
В настройках указано "indicator_type1 DRAW_SECTION".
Меняю код на провести линию от Хая 6-го бара до Лоу 3-го бара. Компилирую... Ничего не поменялось. Линия проведена по старому условию.
При закрытии-открытии графика с заново установкой индикатора линия прорисовывается правильно.

3. Есть переменная (int Myvar;)
В МТ4 если ее вывести на экран получаю значение "0".
Вывожу переменную в МТ5 и получаю значение "489433488". От куда оно берется?

Я не правильно работаю с МТ5? В МТ4 с такими моментами все в порядке. Откройте глаза на эти истины, пожалуйста. :)

1 Попробуйте не ""  а NULL

2 Отрисовать линию не достаточно, нужно использовать функции для перерисовки изменения значений координат.

3 Любую переменную в коде при обьявлении нужно обнулять, дабы вычистить из нее хлам ...   int Myvar = 0 ;

Roman Starinskij
1870
Roman Starinskij 2015.06.29 10:39  
Vladimir Pastushak:

1 Попробуйте не ""  а NULL

2 Отрисовать линию не достаточно, нужно использовать функции для перерисовки изменения значений координат.

3 Любую переменную в коде при обьявлении нужно обнулять, дабы вычистить из нее хлам ...   int Myvar = 0 ;

2. При перекомпиляции данные индикатора ведь должны обнуляться.

3. Опять же перекомпиляция происходила. Программа по умолчанию в int переменные не 0 подставляет как другие языки? 

Ihor Herasko
9045
Ihor Herasko 2015.06.29 10:50  
Roman Starinskiy:

2. При перекомпиляции данные индикатора ведь должны обнуляться.

Нет, не должны.

Еще нужно учесть, что в МТ4 и МТ5 индикаторы по-разному инициализируют индикаторные буфера. В МТ4 по умолчанию используется EMPTY_VALUE (значение не равно нулю), а в МТ5 - 0.0. Поэтому лучше взять за правило принудительно инициализировать индикаторные буфера нужным значением. 

 

3. Опять же перекомпиляция происходила. Программа по умолчанию в int переменные не 0 подставляет как другие языки? 

Инициализация значений переменных при объявлении - это аксиома. То, что часто получаем 0 без явной инициализации, говорит о том, что занимаемая приложением память к моменту запуска еще не была использована и, следовательно, содержит 0. В тех же случаях, когда приложение загружается в область ранее кем-то использованной памяти, в неинициализированных переменных будет храниться "мусор".
Roman Starinskij
1870
Roman Starinskij 2015.06.29 10:57  

Буду знать. Спасибо. 

В отличии от скриптовых языков, в них удобно, что каждый запуск - новый сценарий. 

Vladimir Karputov
Модератор
45813
Vladimir Karputov 2015.06.29 13:04  
Roman Starinskiy:

Заметил интересную работу в МТ5, возможно это только у меня такое.

1. Вывожу на экран данные через функцию Comment ("123"). Данные отображаются, все хорошо.
Следующей попыткой пытаюсь очистить данные путем вывода функции Comment (""). На экране продолжают висеть старые "123".
Такую очистку можно применять только в МТ4?

..

После любого действия с экраном графика обновляйте экран:

ChartRedraw()
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий