Зафиксировать цену покупки Ask для дальнейшей работы с советником ?

 
int total,ticket;
double b;
   if(Bars<100)
     {
      Print("bars less than 100");
      return(0);  
     }
 
   total=OrdersTotal();
   if(total<1)
   { 
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-60*Point,Ask+40*Point);
  }

Код простой...т.е. советник открывает ордер на покупку .без параметров с стопом 60 п. и профитом 40...

Может кто знает, как зафиксировать цену покупки Ask для дальнейшей работы с советником???

 
slayer писал (а):
Может кто знает, как зафиксировать цену покупки Ask для дальнейшей работы с советником???
Зачем?
OrderOpenPrice() не подходит?
 
я понимаю....а как вывести к примеру цену покупки на экран через Alert?
 
slayer писал (а):ПРОФЕСИОНАЛОМ на десерт!!!!
Слово "профессионалам" пишется так...
Две ошибки в одном слове, непрофессионально...
 
   total=OrdersTotal();
   if(total<1)
   { 
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-60*Point,Ask+40*Point);
if(OrderSelect(OP_BUY, SELECT_BY_POS)==true)
    Alert("open price for the order 10 ",OrderOpenPrice());
  else
    Alert("OrderSelect() вернул ошибку - ",GetLastError());
 
  }
 
 
   return(0);
  }
с этим разобрался....а как теперь открыть позицию (отложенный ордер) на 50 например пунктов от цены покупки??? (((
 
slayer:с этим разобрался....а как теперь открыть позицию (отложенный ордер) на 50 например пунктов от цены покупки??? (((

Может просто почитать учебник? Вы задаете вопросы которые для Вас уже подробно описаны...

https://book.mql4.com/ru/

 
slayer:
   total=OrdersTotal();
   if(total<1)
   { 
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-60*Point,Ask+40*Point);
if(OrderSelect(OP_BUY, SELECT_BY_POS)==true)
    Alert("open price for the order 10 ",OrderOpenPrice());
  else
    Alert("OrderSelect() вернул ошибку - ",GetLastError());
 
  }
 
 
   return(0);
  }
с этим разобрался....а как теперь открыть позицию (отложенный ордер) на 50 например пунктов от цены покупки??? (((
Странно, а кто-то пообещал сегодня советник написать в соседней ветке.
 
slayer:
   total=OrdersTotal();
   if(total<1)
   { 
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-60*Point,Ask+40*Point);
if(OrderSelect(OP_BUY, SELECT_BY_POS)==true)
    Alert("open price for the order 10 ",OrderOpenPrice());
  else
    Alert("OrderSelect() вернул ошибку - ",GetLastError());
 
  }
 
 
   return(0);
  }

Вообщето вроде так не пишут

if(OrderSelect(OP_BUY, SELECT_BY_POS)==true)
может лучше так
   total=OrdersTotal();
   if(total<1)
      { 
          ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-60*Point,Ask+40*Point);
          if(OrderSelect(ticket, SELECT_BY_TICKET)==true)
             {
                 Alert("open price for the order 10 ",OrderOpenPrice());
             }
          else
             {
                 Alert("OrderSelect() вернул ошибку - ",GetLastError());
             }
       }
   return(0);
  }
 
olyakish:
slayer:
   total=OrdersTotal();
   if(total<1)
   { 
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-60*Point,Ask+40*Point);
if(OrderSelect(OP_BUY, SELECT_BY_POS)==true)
    Alert("open price for the order 10 ",OrderOpenPrice());
  else
    Alert("OrderSelect() вернул ошибку - ",GetLastError());
 
  }
 
 
   return(0);
  }

Вообщето вроде так не пишут

if(OrderSelect(OP_BUY, SELECT_BY_POS)==true)
может лучше так
   total=OrdersTotal();
   if(total<1)
      { 
          ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-60*Point,Ask+40*Point);
          if(OrderSelect(ticket, SELECT_BY_TICKET)==true)
             {
                 Alert("open price for the order 10 ",OrderOpenPrice());
             }
          else
             {
                 Alert("OrderSelect() вернул ошибку - ",GetLastError());
             }
       }
   return(0);
  }
 
Vinin:
slayer:
   total=OrdersTotal();
   if(total<1)
   { 
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-60*Point,Ask+40*Point);
if(OrderSelect(OP_BUY, SELECT_BY_POS)==true)
    Alert("open price for the order 10 ",OrderOpenPrice());
  else
    Alert("OrderSelect() вернул ошибку - ",GetLastError());
 
  }
 
 
   return(0);
  }
с этим разобрался....а как теперь открыть позицию (отложенный ордер) на 50 например пунктов от цены покупки??? (((
Странно, а кто-то пообещал сегодня советник написать в соседней ветке.


Обещал!!! возникли сложности с кодом....

Как c функцией iCustom разобрался.... теперь не доходит, как сделать так что бы буфер 0, или 1 был>0 ....

думаю завтра добью эту тему до конца

 
slayer:
olyakish:
slayer:
   total=OrdersTotal();
   if(total<1)
   { 
ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-60*Point,Ask+40*Point);
if(OrderSelect(OP_BUY, SELECT_BY_POS)==true)
    Alert("open price for the order 10 ",OrderOpenPrice());
  else
    Alert("OrderSelect() вернул ошибку - ",GetLastError());
 
  }
 
 
   return(0);
  }

Вообщето вроде так не пишут

if(OrderSelect(OP_BUY, SELECT_BY_POS)==true)
может лучше так
   total=OrdersTotal();
   if(total<1)
      { 
          ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Bid-60*Point,Ask+40*Point);
          if(OrderSelect(ticket, SELECT_BY_TICKET)==true)
             {
                 Alert("open price for the order 10 ",OrderOpenPrice());
             }
          else
             {
                 Alert("OrderSelect() вернул ошибку - ",GetLastError());
             }
       }
   return(0);
  }


ну в принципе понятно!!! смысл в том что результат будет одинаковый...лучше мне скажите, как открыть следующий ордер на n пунктов вверх....(Я ПЫТАЮСЬ НАПИСАТЬ СОВЕТНИК ПО МЕТОДУ "КАЧЕЛИ")
Причина обращения: