[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 828

 
chief2000:

Не совсем так - для Стоп-ордера цена открытия может быть, Например в случае Buy,

максимум предыдущего фрактала (=OpenPrice) + Спред

(при условии что Аск ниже фрактала на величину Stop_Level или более). Т.е. ордер выставляется не от Аск, а от какого-то "внешнего" условия.

Но в большей степени хотелось бы знать об учете Спреда в TakeProfit и StopLoss:

- В случае Buy:

OrderSend(Symbol(), OP_BUYSTOP, Lots, OpenPrice+Spread, Slippage, OpenPrice-StopLoss, OpenPrice+TakeProfit+Spread, ...)

- Sell:

- Верно или я чего-то не учел?

Право-дело, уже засыпаю, да вымотан тяжелейшими переговорами с заказчиком, но скажу лишь одно: открываем позу Бай по Аск, закрываем её по Бид.
А разница промежду Аск и Бид и есть спред... От того и пляшем-с...
 
Чтобы писать сообщение надо обязательно нажать "ответить"? Как добавить сообщение к теме не нажимая "ответить"?
 
 
peshihod:
Чтобы писать сообщение надо обязательно нажать "ответить"? Как добавить сообщение к теме не нажимая "ответить"?

Внизу окошко редактора и кнопка "Добавить комментарий"
 

Читаю, стараюсь понять, натыкаюсь на сокращения и непонятные слова. ТЗ, ТФ, флеты и т.п.

Есть, что нибудь навроде словаря основных сокращений, мало понятных слов?

Один мудрец сказал: "Дайте точное определение каждому слову, и вы избавите человечество от половины заблуждений!"

 

По текущим ценам, не отложеный ордер, так:

Buy:

OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, Bid-StopLoss, Bid+TakeProfit, ...)

Sell:

OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, Ask+StopLoss, Ask-TakeProfit, ...)

Для отложенных -- зависит от программиста, по каким ценам ведёт счёт.

В любом случае StopLoss и TakeProfit считаются от одной цены, а OpenPrice отличается от неё(цены) на спред.

 

Здравствуйте! Я в MQL4 и вообще в программировании новичок, поэтому у меня такой вопрос:

Написал код, который к определенному времени, допустим 21.15, закрывает все открытые позиции с 0 по 3 в списке:

if((TimeHour(TimeCurrent()) == MyHour)&&(TimeMinute(TimeCurrent())== MyMinute))
  { 
   for(int j=0;j<4;j++)
     {
     if((OrderSelect(j,SELECT_BY_POS,MODE_TRADES)==true))
      {
      Print("Order:",OrderTicket());
      OrderClose(OrderTicket(),MyLots,Bid,5,color3);
      }
      else
      Print("OrderSelect() vernul oshibku - ",GetLastError()); 
   }  

  

На тестере происходит следующее:  ордера 0 и 1 закрываются в указанное время, а 2 и 3 - в это же время, но через сутки.

Также написан участок кода, который модифицирует стоп-лосс у всех ордеров с 0 по 3 в списке:

 if(Diff2 <= 0.0012)
  {
   int pos1;
   int total = OrdersTotal();
   for(pos1=0; pos<total; pos1++)
     {
     if(OrderSelect(pos1,SELECT_BY_POS,MODE_TRADES)==true)
      {
       Print("Order1:",OrderTicket());
       OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),Ask-Point*TakeProfit,0,color3);   
      }
      else
       Print("OrderSelect() vernul oshibku - ",GetLastError());  
     } 
  }

 

 На тестере происходит следующее: тестер во вкладке "результат" пишет modify всех ордеров, затем виснет и в журнал постоянно выводится

 сообщение "OrderSelect() vernul oshibku - 0" 

 Пожалуйста, подскажите что здесь не так или с чем такое поведение может быть связано???Заранее спасибо за ответ. 

 

chief2000:

Хочу уточнить один вопрос - речь об открытии Стоп-ордера. ...

Всем Большое Спасибо!

 
chief2000:

chief2000:

Хочу уточнить один вопрос - речь об открытии Стоп-ордера. ...
Может будет полезно!! Возьми попробуй отталкиваться от одной цены: скажем Bid. Цена открытия для OP_SELLSTOP будет Bid, а для OP_BUYSTOP - Bid+87*Point (или сколько тебе нужно).
 
temkin:

>>Написал код, который к определенному времени, допустим 21.15, закрывает все открытые позиции с 0 по 3 в списке:

>>На тестере происходит следующее: ордера 0 и 1 закрываются в указанное время, а 2 и 3 - в это же время, но через сутки.

OrderClose() закрывает только открытые ордера. Для удаления отложенных -- OrderDelete(). Наверное, два других ордера отложенные??? Через сутки они срабатываю(открываются) и потом закрываются OrderClose() ?

>>Также написан участок кода,`который модифицирует стоп-лосс у всех ордеров с 0 по 3


for(pos1=0; pos<total; pos1++)

Для "pos1" в условии цикла пропустил единицу:

for(pos1=0; pos1<total; pos1++)

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