Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1364

 
MakarFX:

а так пробовал

А дальше какую функцию использовать чтобы перебрать закрытые позиции?

 
Amon1953:

А дальше какую функцию использовать чтобы перебрать закрытые позиции?

А что вообще надо сделать с найденными ордерами?
 
MakarFX:
А что вообще надо сделать с найденными ордерами?

Мне нужно найти последнюю закрытую по SL позицию для принятия решения

   if(HistorySelectByPosition(ORDER_MAGIC==1))

    {

     int PosTotal= ??? какую функцию использовать? 

     Alert("PosTotal ",PosTotal);

     for(int i=PosTotal-1; i>=0; i--)

      {

       Alert("PositionsTotal ",PosTotal);

       }}


 
Amon1953:

Мне нужно найти последнюю закрытую по SL позицию для принятия решения

Есть огромная разница между

а) Узнать закрылась ли последняя позиция по стопу, и

б) Найти последнюю закрытую по стопу позицию.

--------

Что нужно?

 
Amon1953:

Мне нужно найти последнюю закрытую по SL позицию для принятия решения

Я не силен в MQL5, но думаю начинать поиск надо так

      if(HistoryOrderSelect(ticket))
        {
         if(HistoryOrderGetInteger(ticket,DEAL_TIME)>=CurrentTime)
           {
            if(HistoryOrderGetInteger(ticket,DEAL_MAGIC)==Magic)
              {
               if(HistoryOrderGetInteger(ticket,DEAL_TYPE)==DEAL_TYPE_BUY)
 
MakarFX:

Я не силен в MQL5, но думаю начинать поиск надо так

Мне нужна закрытая позиция, а не сделка или ордер

 
Amon1953:

Мне нужна закрытая позиция, а не сделка или ордер

Попутал

HistoryOrderSelect


 
MakarFX:

Попутал

HistoryOrderSelect


Чем может ордер помочь?

 
Artyom Trishkin:

Чем может ордер помочь?

Изначально вопрос был

Amon1953:
Вопрос наверное простой и наивный, но я уже голову сломал  HistorySelectByPosition(ORDER_MAGIC==1) мне нужна история позиций с магик = 1. Что то я не догоняю. Чтобы я ни делал не получаю историю. Куда надо вносить номер магика?Поможите люди добрые!
      if(HistoryOrderSelect(ticket))
        {
         if(HistoryOrderGetInteger(ticket,ORDER_MAGIC)==Magic)


 
MakarFX:

Изначально вопрос был


В пятерке ордер != позиция. И сделка. Ордер (приказ) порождает сделку. А сделка - позицию, либо её изменение, либо закрытие.

Соответственно, чтобы найти как закрылась позиция, нужно выбрать сделки этой позиции, найти закрывающую сделку и поглядеть её свойства - там причина закрытия может быть указана.

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