Обсуждение статьи "В MetaTrader 5 добавлена хеджинговая система учета позиций" - страница 4

 
Rashid Umarov:

По-моему, вы придумываете проблемы на ровном месте. Ну открылась (на хеджевом счете) вторая позиция по остатку ордера с другим Position_ID. Допустим. Какая в этом проблема? Позиции то реально разные будут. HistorySelectByPosition тут не причем.

  1. Показан пример торговой ситуации, на которую Андрей обратил внимание при прочтении данной статьи.
  2. HistorySelectByPosition может не выбрать ордер, который был причиной сделки.
  3. Ордер и сделка, которую он породил, могут быть с разными ID.
Второй и третий пункт должны хоть где-то быть озвучены. Что и сделал.

Хотите отлавливать все торговые операции четко по конкретному сигналу - ставьте им MagicNumber и самостоятельно раскручивайте цепочку. 99.99% трейдеров не поймут вашей кручины.

Речь про анализ истории даже ручной торговли, про написание ТС не говорим.

Например, хотим понять, как проскользила сделка.
 

На терминале MQL5 хотел открыть хеджевый - новый демо-счёт. (Уже есть демо-счёт неттинг) При открытии счёта не активируется кнопка - Использовать хеджирование при торговле.

Вопрос: Может ли на одном и том же терминале быть и хедж. и нетт. форекс-счета? Или переустанавливать терминал?

 
rosomah:

На терминале MQL5 хотел открыть хеджевый - новый демо-счёт. (Уже есть демо-счёт неттинг) При открытии счёта не активируется кнопка - Использовать хеджирование при торговле.

Вопрос: Может ли на одном и том же терминале быть и хедж. и нетт. форекс-счета? Или переустанавливать терминал?

Есть зависимость от того к какому торговому серверу Вы логинитесь. Подключитесь к MetaQuotes-Demo
 
Vladimir Karputov:
Есть зависимость от того к какому торговому серверу Вы логинитесь. Подключитесь к MetaQuotes-Demo
Получилось на MetaQuotes-Demo. Благодарю.
 
Подскажите, кто знает, не могу самостоятельно найти информацию. У брокера хеджинговые счета. Мой робот написан под нетинговые счета. Как средствами MQL5 закрыть позицию, на хеджинговом счете? Функции OrderClose() в MQL5 нет. Противоположная позиция, как в нетинговом учете, не закрывает открытую. 
 
Sergiy Riehl:
Подскажите, кто знает, не могу самостоятельно найти информацию. У брокера хеджинговые счета. Мой робот написан под нетинговые счета. Как средствами MQL5 закрыть позицию, на хеджинговом счете? Функции OrderClose() в MQL5 нет. Противоположная позиция, как в нетинговом учете, не закрывает открытую. 

 Может на хеджинговом счете в торговом запросе нужно ставить TRADE_ACTION_CLOSE_BY ??

или есть более корректное решение?

 
Sergiy Riehl:
Подскажите, кто знает, не могу самостоятельно найти информацию. У брокера хеджинговые счета. Мой робот написан под нетинговые счета. Как средствами MQL5 закрыть позицию, на хеджинговом счете? Функции OrderClose() в MQL5 нет. Противоположная позиция, как в нетинговом учете, не закрывает открытую. 

Используйте универсальный код обхода позиций - он работает и на неттинге и на хедж. Пример в коде GalacticExplosion - функция CloseAllPositions

//+------------------------------------------------------------------+
//| Close all positions                                              |
//+------------------------------------------------------------------+
void CloseAllPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // returns the number of current positions
      if(m_position.SelectByIndex(i))     // selects the position by index for further access to its properties
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
            m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
  }
Причина обращения: