А давайте сделаем из этого "мультик" (мультивалютник) - страница 3

 

Подскажите, пожалуйста, как мне в индикаторе получить цену открытия ордеров для разных Магик?

Делала такую конструкцию, пока для одного Магик,

int total=OrdersTotal()-1;
     OrderSelect(total, SELECT_BY_POS, MODE_TRADES);
     OP=OrderOpenPrice();
в тесторе в режиме визуализации не срабатывает.
 
Angela писал(а) >>

Подскажите, пожалуйста, как мне в индикаторе получить цену открытия ордеров для разных Магик?

Делала такую конструкцию, пока для одного Магик,

в тесторе в режиме визуализации не срабатывает.

А открытые позиции в советнике есть?

 

Вопросы по коду:

- Не могу передать тикет для модификации - Ошибка - 'OrdTick' - variable not defined

- Нужно как-то реализовать закрытие всех ордеров выбранного символа

- Не пойму как определить срабатывание отложенного ордера выбранного символа


 
ALex2008 писал(а) >>

- Не могу передать тикет для модификации - Ошибка - 'OrdTick' - variable not defined

- Нужно как-то реализовать закрытие всех ордеров одного символа

Скрипт для закрытия всех позиций по данному инструменту

int start() {
   for (int i=OrdersTotal()-1;i>=0;i--){
      if (!OrderSelect(i,SELECT_BY_POS))  continue;
      if (OrderSymbol()!=Symbol())        continue;
      OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),10);
   }
}
 
Vinin >>:

Скрипт для закрытия всех позиций по данному инструменту

Огромное спасибо!

 

Видел  пример мультивалютника в Code Base. 

Код простой и доходчивый. Как образец, для понимания и дальнейшего построения своей конструкции, - подходит оч. неплохо.

'Peceptron_Mult'

 
rid >>:

Видел  пример мультивалютника в Code Base. 

Код простой и доходчивый. Как образец, для понимания и дальнейшего построения своей конструкции, - подходит оч. неплохо.

Посмотрим... Может чего дойдёт)

Дауж.. посмотрел) Думал у меня-то маленький код..))

Не.. я только начал к одному коду привыкать, а тут другой.. Я уж лучше с одним разберусь)

 
Angela >>:

Подскажите, пожалуйста, как мне в индикаторе получить цену открытия ордеров для разных Магик?

Делала такую конструкцию, пока для одного Магик,

в тесторе в режиме визуализации не срабатывает.

может вот такая подойдет, -

Функция PriceOpenLastPos().
Эта функция возвращает цену открытия последней открытой позиций. Отбор учитываемых позиций задаётся внешними параметрами:
sy - Наименование рыночного инструмента. Если задать этот параметр, то функция учтёт позиции только заданного инструмента. Значение по умолчанию - "" означает любой рыночный инструмент. Значение NULL означает текущий инструмент. 
op - Торговая операция, тип позиции. Допустимые значения: OP_BUY, OP_SELL или -1. Значение по умолчанию -1 означает любую позицию. 
mn - Идентификатор позиции, MagicNumber. Значение по умолчанию -1 означает любой идентификатор.

https://forum.mql4.com/ru/11287/page24

 
Vinin >>:

Может поможет

Спасибо) Если я правильно понял с помощью этой логической функции можно впринципе вести весь учет ордеров текущего символа?

//-------Поиск ордеров
bool WorkOrders(){
      for (int i=OrdersTotal()-1;i>=0;i--){
      if (!OrderSelect(i,SELECT_BY_POS))  continue;
      if (OrderSymbol()!=Symbol())        continue;
      Type = OrderType();
      return(true);} 
  }
 
Vinin писал(а) >>

А открытые позиции в советнике есть?

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

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