Советники: Yesterday Today - страница 2

 
pokrovsky-my #:
Я имел ввиду не отложенный ордер, а возможность закрыть рыночный ордер по времени, даже если он убыточный.

Код:

//+------------------------------------------------------------------+
//| Close positions                                                  |
//+------------------------------------------------------------------+
void ClosePosition(const ENUM_POSITION_TYPE pos_type)
  {
     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)
          if(m_position.PositionType()==pos_type) // gets the position type
            if(Hour()>TimeClose)
               m_trade.PositionClose(m_position.Ticket()); // close a position by the specified symbol
  }


Добавил условие if(Hour()>TimeClose), в переменных прописал input double   TimeClose         = 21; вставил int Hour()
{
   MqlDateTime tm;
   TimeCurrent(tm);
   return(tm.hour);
}
int Minute()
{
   MqlDateTime tm;
   TimeCurrent(tm);
   return(tm.min);
}



Советник компилируется без ошибок, но в указанное время ордер не закрывается

 

На всякий случай ещё раз уточню: ( Общие принципы - Торговые операции )

Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция.

  • Ордер — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит и Стоп Лосс.
  • Сделка — факт покупки или продажи того или иного финансового инструмента. Покупка (Buy) происходит по цене спроса (Ask), а продажа (Sell) — по цене предложения (Bid). Сделка может быть совершена в результате исполнения рыночного ордера или срабатывания отложенного. Следует учитывать, что в некоторых случаях результатом исполнения ордера могут быть сразу несколько сделок.
  • Позиция — это рыночное обязательство, количество купленных или проданных контрактов по финансовому инструменту. Длинная позиция (Long) — купленный в расчете на повышение цены финансовый инструмент, короткая (Short) — обязательство на его поставку в расчете на снижение цены в будущем.

то есть ордер - это приказ, команда или открыть СДЕЛКУ (СДЕЛКА порождает ПОЗИЦИЮ) или разместить ОТЛОЖЕННЫЙ ОРДЕР.


Для работы со временем рекомендую ознакомится со статьёй Почти конструктор для создания советника и посмотреть в файле 'Trading engine 4.mq5' группу входных параметров 'Time control':

input group             "Time control"
input bool                 InpTimeControl          = true;           // Use time control
input uchar                InpStartHour            = 10;             // Start Hour
input uchar                InpStartMinute          = 01;             // Start Minute
input uchar                InpEndHour              = 15;             // End Hour
input uchar                InpEndMinute            = 02;             // End Minute
Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и...
 
Vladimir Karputov #:

На всякий случай ещё раз уточню: ( Общие принципы - Торговые операции )

Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция.

  • Ордер — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит и Стоп Лосс.
  • Сделка — факт покупки или продажи того или иного финансового инструмента. Покупка (Buy) происходит по цене спроса (Ask), а продажа (Sell) — по цене предложения (Bid). Сделка может быть совершена в результате исполнения рыночного ордера или срабатывания отложенного. Следует учитывать, что в некоторых случаях результатом исполнения ордера могут быть сразу несколько сделок.
  • Позиция — это рыночное обязательство, количество купленных или проданных контрактов по финансовому инструменту. Длинная позиция (Long) — купленный в расчете на повышение цены финансовый инструмент, короткая (Short) — обязательство на его поставку в расчете на снижение цены в будущем.

то есть ордер - это приказ, команда или открыть СДЕЛКУ (СДЕЛКА порождает ПОЗИЦИЮ) или разместить ОТЛОЖЕННЫЙ ОРДЕР.


Для работы со временем рекомендую ознакомится со статьёй Почти конструктор для создания советника и посмотреть в файле 'Trading engine 4.mq5' группу входных параметров 'Time control':

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

 
pokrovsky-my #:

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

Вы статью читали? Сможете код модифицировать?

 
Vladimir Karputov #:

Вы статью читали? Сможете код модифицировать?

Статью смотрел, но для меня это темный лес.

 
pokrovsky-my #:

Статью смотрел, но для меня это темный лес.

Хорошо, поставлю в планы на завтра.

 
pokrovsky-my #:


Новая версия Yesterday Today New

Yesterday Today New
Yesterday Today New
  • www.mql5.com
Торговля основана на анализе OHLC вчерашнего дня и текущего.
 
Vladimir Karputov #:

Новая версия Yesterday Today New

Владимир, спасибо за Ваш труд. Хорошо, когда есть такие специалисты, которые помогают пользователям.