Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Рекомендую уйти вот от такой конструкции
так как обработка предыдущего тика может занять достаточное количество времени чтобы пропустить приход первого тика нового бара
соответственно возможно пропустить открытие.
Лучше привязываться к времени открытия бара, но для этого нужно где то сохранять предыдущее время к примеру нулевого бара чтобы потом сравнивать его с текущем временем нулевого бара
Если одинаковое - нового бара нет
Если отличается то в большую сторону то как минимум открыт новый (следующий) бар после чего сохраненное время нулевого бара инициализируем текущем временем нулевого бара.
Такая конструкция более надежная.
Об этом мы расскажем в одной из следующих статей:
Насколько я могу судить, MT5 поддерживает только *1* (один) серверный s/l и t/p ордер *на инструмент* (не на сделку) и никаких OCO ордеров (OCO ордера могут быть использованы для симуляции s/l и t/p ордеров на сделку, но там тоже есть условие гонки). Пока не будет решена эта проблема, я бы не стал тратить больше $100 на торговлю через MT5 (упрощенные советники типа MA cross с одним ордером на одном таймфрейме). И я даже не уверен насчет 100 долларов.
Рекомендую уйти вот от такой конструкции
так как обработка предыдущего тика может занять достаточное количество времени чтобы пропустить приход первого тика нового бара
соответственно возможно пропустить открытие.
Лучше привязываться к времени открытия бара, но для этого нужно где то сохранять предыдущее время к примеру нулевого бара чтобы потом сравнивать его с текущем временем нулевого бара
Если одинаковое - нового бара нет
Если отличается то в большую сторону то как минимум открыт новый (следующий) бар после чего сохраненное время нулевого бара инициализируем текущем временем нулевого бара.
Такая конструкция более надежная.
Я у себя так делал:
Компилируется, но отладчик не работает.
загрузка C:\Program Files\MetaTrader 5\MQL5\Experts\Examples\eMyEA.ex5 не удалась
Опубликована новая статья Прототип торгового робота:
Автор: Алексей Сергеев
Спасибо за отличную статью! Я новичок, но у меня есть вопрос по коду.
В функции void CExpertAdvisor::TrailingPosition(long dir,int TS) есть одна строка:
sl=NormalSL(dir,apr,apr,TS,StopLvl); // рассчитываем Stop Loss
Должны ли мы использовать apr и для второго, и для третьего аргумента при вызове NormalSL? Я думал, что должно быть так:
sl=NormalSL(dir,op,apr,TS,StopLvl);
так как вторым аргументом должна быть цена покупки/продажи для "указанного" направления (т.е. переменная op), а не для "обратного" (т.е. переменная apr).
Спасибо!
В функции void CExpertAdvisor::TrailingPosition(long dir,int TS) есть одна строка:sl=NormalSL(dir,apr,apr,TS,StopLvl); // вычисляем Stop Loss
Должны ли мы использовать apr и для второго, и для третьего аргумента при вызове NormalSL? Я думал, что должно быть так:
sl=NormalSL(dir,op,apr,TS,StopLvl);
Нет.
Второй и третий аргумент должны быть apr.
потому что расчет tral происходит от цены, по которой позиция будет закрыта. Bid для покупки и Ask для продажи. функция корректна.
поскольку вторым аргументом должна быть цена покупки/продажи для "заданного" направления (т.е. переменная op), а не для "обратного" (т.е. переменная apr).
нет.
второй и третий аргументы должны быть апр.
так как расчет tral происходит от цены, по которой будет закрыта позиция. Бид для покупки и Аск для продажи. функция верна.
должна рассчитываться от "обратного" направления. В данном случае apr.Спасибо за быстрый ответ! Я думал, что, наверное, ошибаюсь.
Могу ли я также спросить в функции
почему в возвращаемом значении между "dist" и "m_smbinf.TickValue()" стоит "10"? Я полагаю, что "dist" - это стоп-лосс (в пунктах), а "m_smbinf.TickValue()" - это стоимость доллара США за пункт в лоте для валютной пары. Поэтому я не совсем понимаю, зачем мы умножаем еще "10" между ними.
Спасибо!
Очень полезная статья. Спасибо большое!