Всем привет! Советник работает хорошо, но бывает выскакивает ошибка 130, а бывает не выставляет ТП, бывает очень редко, в основном на движухе и то не всегда. Но это очень напрягает. Вот кусок кода и модификация ордера. NumberOfTry=5 , то есть всего 5 попыток. Понимаю, что цена за это время пока он крутит эти 5 попыток цикле уходит дальше чем ТП+Проскальзывание и потому вылетает эта ошибка 130. Но как сделать, чтобы он открывал по цене какая есть? Хотя тоже понимаю, что цена может рвануть сильно и никакое проскальзывание не спасёт и будет невозможно выставить ТП даже по новой цене или это не так? В общем, помогите опытные товарищи, советом как поступить?!
замените Аsк на MarketInfo(_Symbol,MODE_ASK)
в большинстве случаев помогает.
а еще можно перенести расчет тейка в цикл перед отправкой запроса на модификацию, так будет лучше, расчет тейка будет происходить по текущим данным цены.
с уважением.
Добрый день.
замените Аsк на MarketInfo(_Symbol,MODE_ASK)
в большинстве случаев помогает.
а еще можно перенести расчет тейка в цикл перед отправкой запроса на модификацию, так будет лучше, расчет тейка будет происходить по текущим данным цены.
с уважением.
Спасибо буду пробовать. Вот что получилось))
{ int TpOneBuy = 0; TpOneBuy = Mass[CountTradesBuy()]; ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,Slippage,0,0,comment,Magic,0,Blue); if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) { for(CountTP=0; CountTP<NumberOfTry; CountTP++) // Цикл повторения попыток установки ТР { TPBuy=NormalizeDouble(MarketInfo(_Symbol,MODE_ASK)+TpOneBuy*Point,Digits); if(OrderModify(ticket,OrderOpenPrice(),0,TPBuy,0)) break; else { ErrorTP=GetLastError(); Print("Ошибка установки TP Buy = ",ErrorTP); Sleep(400); } } } }
Спасибо буду пробовать. Вот что получилось))
да и написал бы по другому, но это уже другая история.)))
с уважением
на ордере я бы то же аск поменял.
да и написал бы по другому, но это уже другая история.)))
с уважением
А нельзя ли по подробней, почему не Ask и как можно по другому написать? Можно просто словами объяснить код не обязательно, мне для расширения кругозора))
Если на счёт применения continue; Это я помню и обязательно применю, код действительно работает быстрее.
А нельзя ли по подробней, почему не Ask и как можно по другому написать? Можно просто словами объяснить код не обязательно, мне для расширения кругозора))
Если на счёт применения continue; Это я помню и обязательно применю, код действительно работает быстрее.
как то ко мне обратился человек, узнал что я программист, и задал вопрос по программированию(прислал свой код) а в ответ получил не 10 строчек своего кода, а одну строчку моего, и был очень удивлен. спросил "а как, где можно этому научиться?" и услышал ответ "все придет с опытом"...
с уважением.
не нужно торопиться, все придет с опытом, а пытливый ум сделает ваши навыки совершенными, но для того чтоб все произошло нужно пробовать разные варианты, смотреть справку, очень много работать и так далее.
как то ко мне обратился человек, узнал что я программист, и задал вопрос по программированию(прислал свой код) а в ответ получил не 10 строчек своего кода, а одну строчку моего, и был очень удивлен. спросил "а как, где можно этому научиться?" и услышал ответ "все придет с опытом"...
с уважением.
Спасибо, намек понял)))
А стот ли мне сделать проверку на допустимую дистанцию ТП к рыночной цене, ведь по этой причине тоже может быть ошибка 130 ?
самый быстрый из них выбрать максимальное из двух, ваш тейк или минимально допустимую дистанцию.
с уважением.
Всем привет! Советник работает хорошо, но бывает выскакивает ошибка 130, а бывает не выставляет ТП, бывает очень редко, в основном на движухе и то не всегда. Но это очень напрягает. Вот кусок кода и модификация ордера. NumberOfTry=5 , то есть всего 5 попыток. Понимаю, что цена за это время пока он крутит эти 5 попыток цикле уходит дальше чем ТП+Проскальзывание и потому вылетает эта ошибка 130. Но как сделать, чтобы он открывал по цене какая есть? Хотя тоже понимаю, что цена может рвануть сильно и никакое проскальзывание не спасёт и будет невозможно выставить ТП даже по новой цене или это не так? В общем, помогите опытные товарищи, советом как поступить?!
Вы сначала открываетесь а потом модифицируете? Может проще сразу открываться с Тейком?
Вы сначала открываетесь а потом модифицируете? Может проще сразу открываться с Тейком?
Не все конторы это позволяют, так, для справки.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет! Советник работает хорошо, но бывает выскакивает ошибка 130, а бывает не выставляет ТП, бывает очень редко, в основном на движухе и то не всегда. Но это очень напрягает. Вот кусок кода и модификация ордера. NumberOfTry=5 , то есть всего 5 попыток. Понимаю, что цена за это время пока он крутит эти 5 попыток цикле уходит дальше чем ТП+Проскальзывание и потому вылетает эта ошибка 130. Но как сделать, чтобы он открывал по цене какая есть? Хотя тоже понимаю, что цена может рвануть сильно и никакое проскальзывание не спасёт и будет невозможно выставить ТП даже по новой цене или это не так? В общем, помогите опытные товарищи, советом как поступить?!