Как можно заменить отложенный ордер

 

Здравствуйте, люди добрые!

Где-то подобный вопрос уже обсуждался, думаю, что даже не однажды... Но тем не менее, подскажите, как должна выглядеть запись кода, когда нужно зафиксировать в течение некоторого времени цифру, при достижении которой открывается ордер. Такая постановка вопроса возникла в результате необходимости ставить отложенный ордер ближе к рынку, нежели существует ограничение.

 
Gorinich >>:

Здравствуйте, люди добрые!

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

Здравствуй, добрый человек...!

Не думаю,что получиться программно (или как ниб. иначе) "...ставить отложенный ордер ближе к рынку, нежели существует ограничение".

Не думаю....

Можно сделать, однако, так, что ордер(позиция)  будет выставляться на допустимом расстоянии, даже если расстояние задано некорректно.

Например, для нормальной установки стоплосса и тейкпрофита при открытия позицтии с рынка :

extern int       Magic=5675;
extern double    lots = 0.1;
extern int       StopLoss=1;
extern int       TakeProfit=2;
string Name_Expert = "Обезьяна Чи-Чи-Чи продавала кирпичи ... ";
static int prevtime = 0;
int StopLevel;double SL,TP;
//-- Подключаемые модули --
#include <stderror.mqh>
#include <stdlib.mqh>
//-------------------------------

 // Проверка условий для совершения сделки бай
 if( если условия соттветствуют...) {//покупаем        {
StopLevel = MarketInfo(Symbol(),MODE_STOPLEVEL); // вызываем разрешенный 
//минимаьный стоп-Уровень
      SL=0;TP=0;
      if(StopLoss>0 && StopLoss>StopLevel )    SL=Bid-Point*StopLoss;
      if(TakeProfit>0 && TakeProfit>StopLevel) TP=Bid+Point*TakeProfit;
      if(StopLoss  <StopLevel && StopLoss>0)   SL = Bid-Point*StopLevel; 
      if(TakeProfit<StopLevel && TakeProfit>0) TP = Bid+Point*StopLevel; 
   ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,3,SL,TP,"Name_Expert",Magic,0,0);
   if(ticket < 0) {
            Print("Ошибка открытия ордера BUY #", GetLastError()); 
            Sleep(10000); 
            prevtime = Time[1]; 
            return (0); 
       } 
       }
 
rid >>:

Не думаю,что получиться программно (или как ниб. иначе) "...ставить отложенный ордер ближе к рынку, нежели существует ограничение".

Ну почему же? Вполне возможно, только с одной оговоркой - это будет не отложенный ордер, а позиция, которую откроет эксперт при достижении нужной цены. Правда, здесь нас подстерегают все прелести открытия с рынка. Поэтому в большинстве случаев игра не стоит свеч и действительно эффективнее выставить отложенный ордер на минимально возможнном расстоянии.

Причина обращения: