Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1570

 
   if(PositionGetInteger(POSITION_TYPE_BUY)) //в этих двух условиях мне нужно найти
               iq = iq1;

               else

   if(PositionGetInteger(POSITION_TYPE_SELL))
               iq = iq2;
      if (PositionsTotal()==iq)
      
     {
      int ord_total=OrdersTotal(); //это удаление ордеров
   if(ord_total > 0)
     {
      for(int i=ord_total-1;i>=0;i--)
        {
         ulong ticket=OrderGetTicket(i);
         if(OrderSelect(ticket) && OrderGetString(ORDER_SYMBOL)==Symbol())
           {
            CTrade *trade=new CTrade();
            trade.OrderDelete(ticket);
            delete trade;
           }
        }
     }
   }   

У меня есть несколько позиций одновременно одного типа(либо лонг, либо шорт), их количество равняется либо iq1, либо iq2. Выдает ошибку "'PositionGetInteger' - no one of the overloads can be applied to the function"? В общем, мне нужно правильно определить тип любой позиции на данный момент и вставить это в условие

 
statist247 #:

У меня есть несколько позиций одновременно одного типа(либо лонг, либо шорт), их количество равняется либо iq1, либо iq2. Выдает ошибку "'PositionGetInteger' - no one of the overloads can be applied to the function"? В общем, мне нужно правильно определить тип любой позиции на данный момент и вставить это в условие

А вы словами можете пересказать что происходит при выполнении этого кода?

Умный движок форума высветил PositionGetInteger() в описании которого есть ответ на ваш вопрос.

PositionGetInteger

Функция возвращает запрошенное свойство открытой позиции, предварительно выбранной при помощи функции…………………………………

Перед «тем как» надо этот ордер выбрать, затем определить его тип и только потом………………

 
statist247 #:

У меня есть несколько позиций одновременно одного типа(либо лонг, либо шорт), их количество равняется либо iq1, либо iq2. Выдает ошибку "'PositionGetInteger' - no one of the overloads can be applied to the function"? В общем, мне нужно правильно определить тип любой позиции на данный момент и вставить это в условие

Можете прокомментировать, что в этих строчках записано?

   if(PositionGetInteger(POSITION_TYPE_BUY)) //в этих двух условиях мне нужно найти
               iq = iq1;

               else

   if(PositionGetInteger(POSITION_TYPE_SELL))
               iq = iq2;
 
Как сдвинуть график влево в мобильной версии терминала  ? 
 
Нужно удерживать палец на пару секунд на пустом поле. Появится вертикальная линия пунктиром на текущем баре. Двинуть график влево, как нужно. Одиночным нажатием по пустому полю сбросить вертикальную линию. Отступ останется
 
Как лучше всего реализовать функциональность торговли по нескольким символам в советнике? Я рассматривал возможность использования двумерного массива или классов. Использование классов и создание объекта для каждой пары символов кажется лучшим подходом, но в настоящее время я сталкиваюсь с проблемами обработки памяти. Следует ли мне сосредоточиться на решении этих проблем с памятью или использовать другой подход?
 
Aleksandr Slavskii #:
   MqlDateTime dtLast, dtCurr;    datetime TimeCurr = TimeCurrent(dtCurr);    datetime TimeDay = iTime(_Symbol, PERIOD_D1, 0);    int Shift = iBarShift(_Symbol, PERIOD_M1, TimeDay);    datetime TimeLast = iTime(_Symbol, PERIOD_M1, Shift);    TimeToStruct(TimeLast, dtLast);    if(dtCurr.hour * 60 + dtCurr.min >= dtLast.hour * 60 + dtLast.min)       Print("TimeCurrent ", TimeCurrent(), "; TimeLast ", TimeLast);

Только добрался до программы.

Работает, но нестабильно, проблема с доступом ко времени отличному от времени на котором установлена программа.


Попробую заменить на SymbolInfoInteger(Sym_arr[i],SYMBOL_TIME) и буду сравнивать с текущим временем + 5 минут.

Спасибо за уделённое время! 

 

Как узнать значение массива со структуры?

struct aIND {
  double RSI;
  double CCI;
  double MACD;
};
aIND Ind[];
---
    {
      ...
      Ind[i].RSI=res;
    }
    Min=ArrayMinimum(Ind[].RSI); // ?
    //Min=ArrayMinimum(Ind_arr); это простой массив - работает
 
Vitaly Muzichenko #:

Как узнать значение массива со структуры?

Почему в структуре не массивы?

 
Aleksei Stepanenko #:
Нужно удерживать палец на пару секунд на пустом поле. Появится вертикальная линия пунктиром на текущем баре. Двинуть график влево, как нужно. Одиночным нажатием по пустому полю сбросить вертикальную линию. Отступ останется
Не появляется вертикальная линия. 
Справа цены исчезают и всё.