Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А разве это нужно?
Позиция и так закроется на след. баре после открытия, если будет выполнено условие OrderOpenPrice()-Bid>=k*Point
вот этого условия закрывается через один пункт, т.е. не ждет закрытия бара.
или что-то не так делаю?
Ну не знаю.
Вам нужно, чтобы позиция открылась при открытии бара. И закрылась при открытии след. бара?
У И.Кима есть функция, кот. возвращает число баров после открытия последней позиции.
Функцию эту добавьте (скопируйте) в самый конец вашего кода, - вне ф-и Старт.
А в условия закрытия добавьте вместо
if( OrderOpenPrice()-Bid>=k*Point)
вот это (для вашего случая):
if ( NumberOfBarOpenLastPos(NULL, 0, OP_SELL, -1) ==1 )
if( iVolume(Symbol(),TF,0)<2) - наилучший и кратчайший вариант для входа
Слава, твой вариант, как и все граали, годится исключительно для тестера.
В реале на 1-м тике бара торговый приказ может не исполниться по ряду причин, а может и сразу 2-3 тика прийти. В этой ветке рассмотрены рабочие варианты.
Слава, твой вариант, как и все граали, годится исключительно для тестера.
В реале на 1-м тике бара торговый приказ может не исполниться по ряду причин, а может и сразу 2-3 тика прийти. В этой ветке рассмотрены рабочие варианты.
на реале я обычно ставлю 3й-4й тик. и всё отлично работает ( не было случаев сбоя )не зря же я написал < а не ==1
ну а по поводу граалей -так эксперт на машке и цене, (а не на тиковых объёмах ) отлично зарекомендовал себя и на реале ( ндд )
Ну, п1. уже выполнен.
Чтобы закрыть сделку с заданным профитом - задайте Тейкпрофит в ф-и открытия позиций
string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
Посмотрите, в любом советнике - как это делается.
Как закрыть сделку по цене закрытия бара - я не знаю.
Вряд ли это у вас получится! Ведь мы программно узнаем, что бар закрыт только тогда, когда откроется следующий бар.
Могу вам порекомендовать поэкспериментировать с упомянутыми выше функциями И.Кима
NumberOfBarCloseLastPos - Возвращает номер бара закрытия последней позиции или -1.
NumberOfBarOpenLastPos - Возвращает номер бара открытия последней позиции или -1.
в адресе https://www.mql5.com/ru/forum/131859
Возможно, и получится то, что вы хотите.