- MetaTrader 5 сертифицирован на бирже РТС
- Ошибки 138 и 130 в тестере стратегий. Помогите разобраться в причинах!
- отложеныый ордер
Привет , как открыть ордер на указанной цене когда до этой цены дойдет BID , не имеет значения это будет BUY или SELL только по BID !
input double i_fOpenPrice = 1.24535; void OnTick() { if (OrdersTotal() == 0) if (i_fOpenPrice - Bid > -Point() / 10.0) OrderSend(Symbol(), OP_BUY, <объем>, Ask, 0, 0.0, 0.0); }
Это утрированный код. В нем предполагается, что на счете будет открыт только один единственный ордер. По хорошему же вместо
if (OrdersTotal() == 0)
нужно еще сделать проверку того, что ордер по заданной цене уже был открыт. Также предполагается, что в момент запуска эксперта рыночная цена выше, чем цена, указанная в i_fOpenPrice. В противном случае ордер будет открыт сразу на старте работы эксперта.
Это утрированный код. В нем предполагается, что на счете будет открыт только один единственный ордер. По хорошему же вместо
нужно еще сделать проверку того, что ордер по заданной цене уже был открыт. Также предполагается, что в момент запуска эксперта рыночная цена выше, чем цена, указанная в i_fOpenPrice. В противном случае ордер будет открыт сразу на старте работы эксперта.
Это утрированный код. В нем предполагается, что на счете будет открыт только один единственный ордер. По хорошему же вместо
нужно еще сделать проверку того, что ордер по заданной цене уже был открыт. Также предполагается, что в момент запуска эксперта рыночная цена выше, чем цена, указанная в i_fOpenPrice. В противном случае ордер будет открыт сразу на старте работы эксперта.
все же ордер открывается не в том месте (
Покажите, что Вы там делаете. У меня с чтением мыслей пока беда))
Покажите, что Вы там делаете. У меня с чтением мыслей пока беда))
if(CountTrades() == 0 ){ if (summup - Bid < -Point() / 10.0){ int ticket=OrderSend(Symbol(),OP_BUY,Lot,Bid,NULL,NULL,NULL,NULL); // Делаем ставку if(OrderSelect(ticket,SELECT_BY_TICKET) == true){ double TP = NormalizeDouble(OrderOpenPrice() + takeprofitsumm * Point, Digits); double SL = NormalizeDouble(OrderOpenPrice() - stoplosssum * Point, Digits); int ticketmodify = OrderModify(ticket,Bid,SL,TP,NULL); } }
в summup цена на которой должен открыться ордер
в summup цена на которой должен открыться ордер
Вы не сможете заставить открыться позицию Buy по цене Bid. Равно как не сможете заставить открыться позицию Sell по цене Ask.
Позиции Buy и все ордера на покупку открываются/срабатывают по цене Ask.
Позиции Sell и все ордера на продажу открываются/срабатывают по цене Bid.
Вы не сможете заставить открыться позицию Buy по цене Bid. Равно как не сможете заставить открыться позицию Sell по цене Ask.
Позиции Buy и все ордера на покупку открываются/срабатывают по цене Ask.
Позиции Sell и все ордера на продажу открываются/срабатывают по цене Bid.
я так понимаю это можно сделать только отложенным ордером ?
я так понимаю это можно сделать только отложенным ордером ?
Нет. Это никак не сделать. Если вы хотите открыть позицию или выставить ордер на покупку, то позиция будет открыта, а ордер сработает только по
цене Ask, и никак иначе.
я так понимаю это можно сделать только отложенным ордером ?
Делаем ставку господа. Вы прям как в казино пришли.
Почитайте немного, а уж потом остальное

- www.metatrader5.com

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования