continue; P// Запускаем новую итерацию
Exit=true; // Фиксируем, что выход из диапазона был
В теле функции start() я использовал оператор while, который запускается на каждом тике, если переменная Signal равна false. Внутри этого цикла сначала проверяется условие (Price<Level1 || Price>Level2 && Exit==false). Это условие верно, если цена вышла за пределы диапазона, но переменная Exit, которая фиксирует факт выхода, пока еще не поменяла значение с false на true. Допустим, так и произошло. В таком случае выполнится блок:
Как видите, использование оператора continue заметно удлиняет код. Помимо переменной Exit, фиксирующей факт выхода цены из диапазона, пришлось ввести еще и переменную Signal, которая меняет значение false на true после вывода на монитор сигнального сообщения.
Сегодня в нашей программе — проверка по использованию оператора continue при программировании на MQL4. Было задано создать с использованием этого оператора советник, подающий однократный сигнал при выходе цены из установленного диапазона.
» Домашнее задание к уроку 20
Опубликовано Янв 9, 2013 в |
Домашнее задание к уроку 20 | FXauto.pro
Комментариев нет:
Отправить комментарий