Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте Игорь!
Пытаюсь изучить язык MQL4 и, за недостаточностью описания операторов языка, одна проблема поставила меня просто в тупик. Есть индикатор, в нем 8 буферов накопления данных, мне нужно чтобы на выбранном мной таймфрейме он отображался с периодом следующего таймфрейма. Для этого служит оператор iCustom(). Но он возвращает значение double, и я никак не могу понять как возможно,и возможно ли, в данном случае использовать iCustom.
Очень надеюсь на Вашу помощь.
Здравствуйте, Алексей!
Вам нужно сделать новый индикатор, в котором бы использовалась функция iCustom(). Значения, возвращаемые этой функцией присваивайте буферам нового индикатора.
Здравствуйте Игорь! И всем Добрый день!
Меня интересует какой код нужно внести чтобы советник при закрытии сделки в этот день больше не совершал никаких сделок...
Нашел такой, но он не работает в тестере стратегий, хотелось бы потестить, каким кодом можно заменить?
Тогда в условия входа нужно вставть
Здравствуйте, Сергей!
Чё-то как-то я даже не вижу, почему бы приведённое Вами использование моей функции могло бы не работать в тестере стратегий. Если для Вас это ещё актуально, предлагаю выложить весь код советника. Попробуем разобраться...
Есть вопросы по различиям и особенностям функций SetOrder() и OpenPosition() в обработке ошибок.
SetOrder():
OpenPositions(): Ошибки 8 (ERR_TOO_FREQUENT_REQUESTS), 138 (ERR_REQUOTE), 139 (ERR_ORDER_LOCKED) не обрабатываются, в отличие от SetOrder():
В SetOrder() ошибка 130 (ERR_INVALID_STOPS) обрабатывается коррекцией стопов, а в OpenPositions() она никак не обрабатывается.
В OpenPosition() присутствует обработка 145 (ERR_TRADE_MODIFY_DENIED). Непонятен смысл ее обработки здесь.
Кроме того, на первой странице этого обсуждения есть упоминание ошибок, обработка которых отсутствует в обеих функциях:
На паузу 7.7 секунды нарвутся ошибки 129 (Неправильная цена bid или ask), 130 (Неправильные стопы), 134 (Недостаточно денег), 136 (Нет цен).
Также отстутствует обработка других (возможно, важных в данном случае) ошибок, например 3 (ERR_INVALID_TRADE_PARAMETERS), 6 (ERR_NO_CONNECTION), 7 (ERR_NOT_ENOUGH_RIGHTS), 9 ERR_MALFUNCTIONAL_TRADE, 137 (ERR_BROKER_BUSY), 144(!), 4067 (ERR_TRADE_ERROR), 4106 (ERR_UNKNOWN_SYMBOL), 4107 (ERR_INVALID_PRICE_PARAM)
Игорь, прошу прокомментировать описанные моменты.
Упоминаемые мной функции SetOrder() и OpenPositions() взяты из библиотек b-Orders от 05.11.2008 и b-Positions от 29.10.2008 с сайта kimiv.ru
Хочу добавить. При возникновении ошибки 5 ERR_OLD_VERSION ее можно обрабатывать аналогично 2, 64, 65, 133; 4109 ERR_TRADE_NOT_ALLOWED аналогично 4110, 4111
А 142 ошибка что означает? Я что-то в кодах ошибок такой не нашёл.
https://docs.mql4.com/ru/trading/errors
142 Ордер поставлен в очередь. Это не ошибка, а один из кодов взаимодействия между клиентским терминалом и торговым сервером. Этот код может быть получен в редком случае, когда во время выполнения торговой операции произошёл обрыв и последующее восстановление связи. Необходимо обрабатывать так же как и ошибку 128.
Меня интересует вопрос по ГЭПам, они в книге не описаны, а в этой теме много нового. Хотелось бы узнать, как сделать так, чтобы сделка открывалась каждый раз, когда появляется ГЭП. Эта тема обсуждалась ранее, но так и не был решен этот вопрос, интересует мнение опытного програмиста, хотя советник вроде и простой. Вот,что получилось, но почему-то этот алгоритм отказывается работать, в чем тут ошибка???
В первом условии первое подусловие лишнее, второе условие на продажу вообще невыполнимо. У Вас что один пункт это уже гэп? У Вас слиппаж равен 2 и стоп равен 2, могут быть накладки.
Спасибо, но почему первое предисловие лишнее?? Ведь нужно, чтобы позиция на покупку открывалась,когда новый бар выше закрытия прежнего и наоборот. Вот так будет правильно??
Насколько я понимаю в первом условии автоматически подразумевается, что чена закрытия больше цены открытия. Во втором наоборот??????