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

 
Есть такое свойство графика CHART_SCALEFIX_11 "Режим масштаба 1:1" и не раскрыто для чего оно и как пользоваться.
Это что бы размеры графических объектов привязять к маштабу?
Если да, то в каких единицах и как указывать размеры объектов что бы они были связаны маштабом?

Вообще, как правильно связывать объекты рисования с маштабом графика?
 
Evgeny Dyuka #:
Надо графический объект закрепить в определенном месте на окне графика. Например квадрат в левом нижнем углу. Для определения координаты по Y есть CHART_PRICE_MIN, а по X как узнать минимальное время?
Ничего подходящего не нашел в ENUM_CHART_PROPERTY_INTEGER

Или вопрос задам шире. Как правильно фиксировать положение объекта в окне графика (например "по центру") без привязки к самому графику?


очень нужно это тайное знание
 
Evgeny Dyuka #:
Есть такое свойство графика CHART_SCALEFIX_11 "Режим масштаба 1:1" и не раскрыто для чего оно и как пользоваться.
Это что бы размеры графических объектов привязять к маштабу?
Если да, то в каких единицах и как указывать размеры объектов что бы они были связаны маштабом?

Вообще, как правильно связывать объекты рисования с маштабом графика?
... и это тоже
 
Evgeny Dyuka #:
Надо графический объект закрепить в определенном месте на окне графика. Например квадрат в левом нижнем углу. Для определения координаты по Y есть CHART_PRICE_MIN, а по X как узнать минимальное время?
Ничего подходящего не нашел в ENUM_CHART_PROPERTY_INTEGER

Или вопрос задам шире. Как правильно фиксировать положение объекта в окне графика (например "по центру") без привязки к самому графику?


CHART_FIRST_VISIBLE_BAR

Номер первого видимого бара на графике. Индексация баров соответствует таймсерии.

int  r/o


Но не все объекты можно так привязать.

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
Примеры работы с графиком - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Как считаете, что лучше рассчитать:

//+------------------------------------------------------------------+
//| Расчет цены                                                      |
//+------------------------------------------------------------------+
int CNewBar::PriceHL2(void)
  {
   double pr;
   int res=ArrayResize(this.m_pr_hl2,this.m_rt);
   for(int b=this.m_rt-this.m_pc; b>0; b--)
     {
      pr=MathAbs((iHigh(this.m_symbol,this.m_timeframe,b) + iLow(this.m_symbol,this.m_timeframe,b))/2);
      m_pr_hl2[this.m_rt-b]=pr;//<0 ? NULL : pr;
     }
   return(res);
  }

Или лучше вытащить через

int  CopyHigh( 
int  CopyLow( 
 
iCustom индикатор можно как то выводить в веб версии терминала?
 

Как объявить класс для того чтобы класс d[].m[]; стал публичным

class CSMA_Greed : public CObject
  {
   CMAOnArray        chsma;
   struct SDoubleArray { double       m[];};
   string            m_symbol;
   ENUM_TIMEFRAMES   m_timeframe;
   int               m_max_period;
   int               rt,prv;
   double            temp;
   string            Symbol(void)         { return this.m_symbol;    }
public:
   SDoubleArray      d[];
                     CSMA_Greed(const string symbol,const ENUM_TIMEFRAMES timeframe,const int max_period);
                    ~CSMA_Greed(void){};
   void              Init(int MaxMAperiod);
   void              Solve(const int aRatesTotal,const int aPrevCalc,const double  &aData[]);
  };

Получается массив есть , а вытащить не могу

cg.d[1199].m[3720]
 

Интересно 

создал значит в OnInit()

   CNewBar *nb = new CNewBar(Symbol(), n_period);
      if(nb==NULL)
         continue;
      if(!list_new_bar.Add(nb))
        {
         delete nb;
         continue;
        }


Скажите пожалуйста нагружает ли систему объявление в последующих функциях параметр

CNewBar* nb = list_new_bar.At(i);
      if(nb == NULL)
         continue;
 
Mikhail Toptunov #:

Интересно 

создал значит в OnInit()


Скажите пожалуйста нагружает ли систему объявление в последующих функциях параметр

Нет. В последующих функциях вы не создаёте новый, а просто из списка получаете указатель на уже созданный в OnInit() объект.

 
Здравствуйте. Как на mql5 сформулировать условие для открытия сделки? Условие: цена не изменилась за последние N баров на определенном таймфрейме.