А по алгоритму с тремя уровнями это ну не знаю. глупости или невнимательность или ошибки алгоритма. уровни всегда 1 меньше 2 меньше 3. И условия больше всех, это больше 3, меньше всех это меньше 1, и меньше 3 и больше 2, и меньше 2 и больше 1. Одно сравнения в первом и последнем ифе.
Если (в общем случае) мы ничего не знаем о взаиморасположении этих уровней, то проверять надо все три.
При разборе оператора while выяснил то-что пример в книге нерабочий(не компилируется), хотя человек в видеоуроке именно с таким кодом запускал его. Видать много изменений и дополнений в правилах кодирования произошло уже...
То-есть, этот код в примере запускался именно как советник, и действительно цикличность не останавливалась как и сейчас. При запуске его как Скрипт - цикличность завершается.
Тоже, немного запутался в операторе return, со скобками, возвратом значения. Сначала думал что достаточно пустых скобок, а потом вычитал, что хоть какой-то значение в них должно быть)
В учебнике есть фраза мол, зацикленность - Эта ситуация особенно опасна при торговле советниками и скриптами. Я так понимаю, что его в советниках лучше не использовать)))
//void OnTick() // Запускается только из папки \\Советники. И цикл НЕ останавливается...// void OnStart() // Запускается только из папки \\Скрипт, и цикл Останавливается!!!intOnStart() // Запускается только из папки \\Скрипт, и цикл Останавливается!!!
{
Alert("!!!!!!!!!Запуск!!!!!!!"); //----------------------------------------------------------+int a=0; // То-что сейчас активно - это пример из учебникаwhile(a<10) // он даже не компилируется из-за
{ // оператора returnAlert("....Начался цикл...."); //
a++; // Alert(a); //----------------------------------------------------------+
}
Alert("_______Цикл окончен______");
return; // При Типе спец функции void без скобок.//return(0); //При Типе спец функции int со скобками, и значением внутри.
}
При разборе оператора while выяснил то-что пример в книге нерабочий(не компилируется), хотя человек в видеоуроке именно с таким кодом запускал его. Видать много изменений и дополнений в правилах кодирования произошло уже...
То-есть, этот код в примере запускался именно как советник, и действительно цикличность не останавливалась как и сейчас. При запуске его как Скрипт - цикличность завершается.
Тоже, немного запутался в операторе return, со скобками, возвратом значения. Сначала думал что достаточно пустых скобок, а потом вычитал, что хоть какой-то значение в них должно быть)
В учебнике есть фраза мол, зацикленность - Эта ситуация особенно опасна при торговле советниками и скриптами. Я так понимаю, что его в советниках лучше не использовать)))
Если условие а<10 будет вдруг по недосмотру всегда истинным, получится зацикливание и возможно синий экран с потерей данных)))
JRandomTrader #: Если (в общем случае) мы ничего не знаем о взаиморасположении этих уровней, то проверять надо все три.
Это как раз ошибка алгоритма, смотря скока раз сравнивать. Если много, то сперва сравнить уровни между собой и построить по росту, а потом сравнивать с целевым значением.
Так то оба работают, но легче делать меньше действий)))
Это как раз ошибка алгоритма, смотря скока раз сравнивать. Если много, то сперва сравнить уровни между собой и построить по росту, а потом сравнивать с целевым значением.
Так то оба работают, но легче делать меньше действий)))
Я не говорю о практическом смысле алгоритма, рассматриваю его как не совсем удачный учебный пример с тремя условно независимыми условиями.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
А по алгоритму с тремя уровнями это ну не знаю. глупости или невнимательность или ошибки алгоритма. уровни всегда 1 меньше 2 меньше 3. И условия больше всех, это больше 3, меньше всех это меньше 1, и меньше 3 и больше 2, и меньше 2 и больше 1. Одно сравнения в первом и последнем ифе.
При разборе оператора while выяснил то-что пример в книге нерабочий(не компилируется), хотя человек в видеоуроке именно с таким кодом запускал его. Видать много изменений и дополнений в правилах кодирования произошло уже...
То-есть, этот код в примере запускался именно как советник, и действительно цикличность не останавливалась как и сейчас. При запуске его как Скрипт - цикличность завершается.
Тоже, немного запутался в операторе return, со скобками, возвратом значения. Сначала думал что достаточно пустых скобок, а потом вычитал, что хоть какой-то значение в них должно быть)
В учебнике есть фраза мол, зацикленность - Эта ситуация особенно опасна при торговле советниками и скриптами. Я так понимаю, что его в советниках лучше не использовать)))
При разборе оператора while выяснил то-что пример в книге нерабочий(не компилируется), хотя человек в видеоуроке именно с таким кодом запускал его. Видать много изменений и дополнений в правилах кодирования произошло уже...
То-есть, этот код в примере запускался именно как советник, и действительно цикличность не останавливалась как и сейчас. При запуске его как Скрипт - цикличность завершается.
Тоже, немного запутался в операторе return, со скобками, возвратом значения. Сначала думал что достаточно пустых скобок, а потом вычитал, что хоть какой-то значение в них должно быть)
В учебнике есть фраза мол, зацикленность - Эта ситуация особенно опасна при торговле советниками и скриптами. Я так понимаю, что его в советниках лучше не использовать)))
Если условие а<10 будет вдруг по недосмотру всегда истинным, получится зацикливание и возможно синий экран с потерей данных)))
Если (в общем случае) мы ничего не знаем о взаиморасположении этих уровней, то проверять надо все три.
Это как раз ошибка алгоритма, смотря скока раз сравнивать. Если много, то сперва сравнить уровни между собой и построить по росту, а потом сравнивать с целевым значением.
Так то оба работают, но легче делать меньше действий)))
Это как раз ошибка алгоритма, смотря скока раз сравнивать. Если много, то сперва сравнить уровни между собой и построить по росту, а потом сравнивать с целевым значением.
Так то оба работают, но легче делать меньше действий)))
Я не говорю о практическом смысле алгоритма, рассматриваю его как не совсем удачный учебный пример с тремя условно независимыми условиями.
здравствуйте всем!
собираю советник торгующий одновременно двумя противоположными ордерами.
оба ордера закрываются пока по стопу/тейку
сейчас хочу сделать так: если один ордер закрылся по тейку, то второй автоматически должен закрыться по текущей цене.
Закрытие второго (по текущей цене) будет через функцию:
не могу сообразить как составить условие для запуска этой функции.
Подскажите пожалуйста как сформулировать что то типа:
if(TakeProfit==???........)
{
//---если да, то закроем второй ордер по текущей цене, не дожидаясь стопа или тейка
CloseOrder();
}
здравствуйте всем!
собираю советник торгующий одновременно двумя противоположными ордерами.
оба ордера закрываются пока по стопу/тейку
сейчас хочу сделать так: если один ордер закрылся по тейку, то второй автоматически должен закрыться по текущей цене.
Закрытие второго (по текущей цене) будет через функцию:
не могу сообразить как составить условие для запуска этой функции.
Подскажите пожалуйста как сформулировать что то типа:
if(TakeProfit==???........)
{
//---если да, то закроем второй ордер по текущей цене, не дожидаясь стопа или тейка
CloseOrder();
}
Вообще по OrderCloseTime()!=0 выбранного по ордер селект ордера и анализ профита, если больше нуля, то да. Если меньше. то это закрытие по СЛ.
Вообще по OrderCloseTime()!=0 выбранного по ордер селект ордера и анализ профита, если больше нуля, то да. Если меньше. то это закрытие по СЛ.
спасибо. буду разбираться
не могу сообразить как составить условие для запуска этой функции.
Подскажите пожалуйста как сформулировать что то типа:
if(TakeProfit==???........)
Вы сначала нужную логику сформулируйте. К примеру: (остался) один рыночный ордер, или - закрыт номер с тикетом Х.
День добрый, подскажите как вытащить ChartID графика М1, если открыто скажем еще М5,М15 и т.д.
Ну или как вариант как найти ChartID графика на котором есть объект с именем "arrow_1".