Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2153
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Коллеги, здравствуйте.
В коде нужно указать разрешение/выписать запрет на торговлю определенными парами.
Т.е. чтобы советник мог торговать только на конкретных указанных парах. А при попытке поставить советника на график или запустить тест на паре, которая не разрешена, выдавал сообщение/аллерт о запрете торгов этой парой.
Подскажите, пожалуйста, какие есть варианты реализации этой идеи.
На другом форуме предложили прописать, перед проверкой сигнала на вход, следующее:
if(Symbol() == "EURUSD" ||
Symbol() == "NZDCAD") return ;
Но эффекта никакого. Возможно я как-то иначе прописываю.
Коллеги, здравствуйте.
В коде нужно указать разрешение/выписать запрет на торговлю определенными парами.
Т.е. чтобы советник мог торговать только на конкретных указанных парах. А при попытке поставить советника на график или запустить тест на паре, которая не разрешена, выдавал сообщение/аллерт о запрете торгов этой парой.
Подскажите, пожалуйста, какие есть варианты реализации этой идеи.
На другом форуме предложили прописать, перед проверкой сигнала на вход, следующее:
if(Symbol() == "EURUSD" ||
Symbol() == "NZDCAD") return ;
Но эффекта никакого. Возможно я как-то иначе прописываю.
Правильно ли понимаю расшифровку: если символ это EURUSD или NZDCAD то ок, иначе выдается аллерт Wrong Symbol! ?
И возник такой момент. Если в коде (ниже приведу) прописать именно так (см. код), то он да, запрещает торговлю на парах кроме, к примеру, этих 2. Но при запуске бэктеста он просто пустой прогон делает, без результатов. Тут же вопрос возникает, риторический скорее: будет ли советник вживую торговать с таким кодом? Раз в тестах молчит.
Это нужно отдельно прописать разрешение на тест?
Nikolay Shorin #:
Но при запуске бэктеста он просто пустой прогон делает, без результатов.
Это не пустой прогон, советник не работает
Вы не внимательны
а не
?Почему
а не
?А для чего ExpertRemove() в OnInit()? Это чем-то лучше, чем return(INIT_FAILED)?
Это не пустой прогон, советник не работает
Вы не внимательны
Ниже, в блоке инициализации, под закомментированной строчкой, разделяющей две части блока, в его конце стояло как раз выделенное желтым...Вот поэтому и молчал. Сейчас всё ок.
Спасибо, помогли!)
А теперь ещё такие ошибки возникают. Первые 2 понял как решить, там просто нужно будет временно создать папку в апп дата (у меня портабл терминалы, поэтому так).
С другой стороны, ошибка после знака +, точнее 2, в одном месте почти, из-за чего - вопрос. Вроде всё объявлено. Но ворчит чего - вопрос.
Что забавно - если закинуть код в папку терминала и запустить терминал, либо нажать обновить, всё ок компилируется и работает. По сути можно "работает - не трогай", но чтобы сюрпризов потом не вылезло, интересно узнать причину и как исправить, если нужно вообще исправлять.
Почему
а не
?Тут скорее кому как удобнее писать код, чтобы потом его понимать и читать)
Ниже, в блоке инициализации, под закомментированной строчкой, разделяющей две части блока, в его конце стояло как раз выделенное желтым...Вот поэтому и молчал. Сейчас всё ок.
Спасибо, помогли!)
А теперь ещё такие ошибки возникают. Первые 2 понял как решить, там просто нужно будет временно создать папку в апп дата (у меня портабл терминалы, поэтому так).
С другой стороны, ошибка после знака +, точнее 2, в одном месте почти, из-за чего - вопрос. Вроде всё объявлено. Но ворчит чего - вопрос.
Что забавно - если закинуть код в папку терминала и запустить терминал, либо нажать обновить, всё ок компилируется и работает. По сути можно "работает - не трогай", но чтобы сюрпризов потом не вылезло, интересно узнать причину и как исправить, если нужно вообще исправлять.