Открыть ордер на указанной цене

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
valomano
36
valomano  
Привет , как открыть ордер на указанной цене когда до этой цены дойдет BID , не имеет значения это будет BUY или SELL только по BID ! 
Ihor Herasko
20775
Ihor Herasko  
valomano:
Привет , как открыть ордер на указанной цене когда до этой цены дойдет 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. В противном случае ордер будет открыт сразу на старте работы эксперта.

valomano
36
valomano  
Ihor Herasko:

Это утрированный код. В нем предполагается, что на счете будет открыт только один единственный ордер. По хорошему же вместо

нужно еще сделать проверку того, что ордер по заданной цене уже был открыт. Также предполагается, что в момент запуска эксперта рыночная цена выше, чем цена, указанная в i_fOpenPrice. В противном случае ордер будет открыт сразу на старте работы эксперта.

Спасибо большое !
valomano
36
valomano  
Ihor Herasko:

Это утрированный код. В нем предполагается, что на счете будет открыт только один единственный ордер. По хорошему же вместо

нужно еще сделать проверку того, что ордер по заданной цене уже был открыт. Также предполагается, что в момент запуска эксперта рыночная цена выше, чем цена, указанная в i_fOpenPrice. В противном случае ордер будет открыт сразу на старте работы эксперта.

все же ордер открывается не в том месте ( 
Ihor Herasko
20775
Ihor Herasko  
valomano:
все же ордер открывается не в том месте ( 

Покажите, что Вы там делаете. У меня с чтением мыслей пока беда))

valomano
36
valomano  
Ihor Herasko:

Покажите, что Вы там делаете. У меня с чтением мыслей пока беда))

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 цена на которой должен открыться ордер 

Artyom Trishkin
Модератор
50194
Artyom Trishkin  
valomano:

в summup цена на которой должен открыться ордер 

Вы не сможете заставить открыться позицию Buy по цене Bid. Равно как не сможете заставить открыться позицию Sell по цене Ask.

Позиции Buy и все ордера на покупку открываются/срабатывают по цене Ask.

Позиции Sell и все ордера на продажу открываются/срабатывают по цене Bid.

valomano
36
valomano  
Artyom Trishkin:

Вы не сможете заставить открыться позицию Buy по цене Bid. Равно как не сможете заставить открыться позицию Sell по цене Ask.

Позиции Buy и все ордера на покупку открываются/срабатывают по цене Ask.

Позиции Sell и все ордера на продажу открываются/срабатывают по цене Bid.

я так понимаю это можно сделать только отложенным ордером ? 

Artyom Trishkin
Модератор
50194
Artyom Trishkin  
valomano:

я так понимаю это можно сделать только отложенным ордером ? 

Нет. Это никак не сделать. Если вы хотите открыть позицию или выставить ордер на покупку, то позиция будет открыта, а ордер сработает только по цене Ask, и никак иначе.

Vitaly Muzichenko
13716
Vitaly Muzichenko  
valomano:

я так понимаю это можно сделать только отложенным ордером ? 

Делаем ставку господа. Вы прям как в казино пришли.

Почитайте немного, а уж потом остальное

Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит...
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий