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

 

Добрый день! Вопрос: Как узнать границы ценового коридора по инструменту?

Речь идет о фондовом рынке. Как правило, значение ценового коридора по голубым фишкам составляет +10% и -10% от цены открытия. Однако, точные цифры везде разные, где вниз -9,8%, вверх +10,4% и так далее. Если анализировать ошибку при постановке ордера за границы коридора, получаем Код 4756 - "Не удалось отправить торговый запрос". Как я понимаю, ордер даже не уходит на сервер. Значит он проходит проверку в терминале. Где же эти заветные границы, как их запросить?

[Удален]  
Artyom Trishkin:
Пока не для маркета.

Билд 2214. Группы до сих пор не для маркета.

 
Alexey Kozitsyn:

Билд 2214. Группы до сих пор не для маркета.

И будут. Пока все сервера не будут обновлены. 
 

Может кто объяснить что за параметры p, sigX, sigY которые нужно передать для расчета aCoeff в данной библиотеке? https://www.mql5.com/ru/code/866

Или посоветуйте другую, где это описано - что нужно передать, где рассчиать коэффициенты лин регрессии

Статистические функции statistics.mqh
Статистические функции statistics.mqh
  • www.mql5.com
Данная библиотека содержит набор базовых статистических функций, необходимых для обработки данных пользователя. Впервые библиотека была опубликована в CodeBase на MQL4 - Библиотека статистических функций Statistica.mqh. В процессе перевода функций на MQL5 были найдены и исправлены некоторые опечатки. Код стал более интуитивно понятным...
 
Добрый день!.. Простой вопрос, наверное, но не могу никак разобраться с чего начать. Мне нужен скрипт, который рисует прямоугольник с названием, содержащим дату и время создания. Может есть у кого пример, который я смогу подогнать под мою задачу.

Заранее благодарен :)..
 
svob:
Добрый день!.. Простой вопрос, наверное, но не могу никак разобраться с чего начать. Мне нужен скрипт, который рисует прямоугольник с названием, содержащим дату и время создания. Может есть у кого пример, который я смогу подогнать под мою задачу.

Заранее благодарен :)..

Возьмите за основу справочный пример OBJ_RECTANGLE,

только измените вот эту строку

//--- создадим прямоугольник
   if(!RectangleCreate(0,InpName,0,date[d1],price[p1],date[d2],price[p2],InpColor,
      InpStyle,InpWidth,InpFill,InpBack,InpSelection,InpHidden,InpZOrder))
     {
      return;
     }

на это:

//--- создадим прямоугольник
   if(!RectangleCreate(0,TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS),0,date[d1],price[p1],date[d2],price[p2],InpColor,
      InpStyle,InpWidth,InpFill,InpBack,InpSelection,InpHidden,InpZOrder))
     {
      return;
     }
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_RECTANGLE
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_RECTANGLE
  • www.mql5.com
//| Cоздает прямоугольник по заданным координатам                    |               time1=0,                            price1=0,                         time2=0,                            price2=0,                        width=1,            //| Перемещает точку привязки прямоугольника                         |...
 
Vladimir Karputov:

Возьмите за основу справочный пример OBJ_RECTANGLE,

только измените вот эту строку

на это:

Спасибо! :) Разобрался..

 
Добрый день, кол-во знаков после запятой в индикаторе (в отдельном окне) зависит от _Digits инструмента? Если да, то как можно это обойти? А то в индикаторе получаются дробные значения, а он на шкале рисует только целые.
 
VANDER:
Добрый день, кол-во знаков после запятой в индикаторе (в отдельном окне) зависит от _Digits инструмента? Если да, то как можно это обойти? А то в индикаторе получаются дробные значения, а он на шкале рисует только целые.

Пример индикатора [data folder]\MQL5\Indicators\Examples\ATR.mq5

OnInit() -> указываем точность отображения

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//--- check for input value
   if(InpAtrPeriod<=0)
     {
      ExtPeriodATR=14;
      printf("Incorrect input parameter InpAtrPeriod = %d. Indicator will use value %d for calculations.",InpAtrPeriod,ExtPeriodATR);
     }
   else ExtPeriodATR=InpAtrPeriod;
//--- indicator buffers mapping
   SetIndexBuffer(0,ExtATRBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtTRBuffer,INDICATOR_CALCULATIONS);
//---
   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//--- sets first bar from what index will be drawn


пример #2 -> [data folder]\MQL5\Indicators\Examples\Custom Moving Average.mq5

здесь точность уже выше

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,ExtLineBuffer,INDICATOR_DATA);
//--- set accuracy
   IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);


пример #3 -> [data folder]\MQL5\Indicators\Examples\ADX.mq5

здесь всегда точность два знача - в независимости от Digits()

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//--- check for input parameters
   if(InpPeriodADX>=100 || InpPeriodADX<=0)
     {
      ExtADXPeriod=14;
      printf("Incorrect value for input variable Period_ADX=%d. Indicator will use value=%d for calculations.",InpPeriodADX,ExtADXPeriod);
     }
   else ExtADXPeriod=InpPeriodADX;
//---- indicator buffers
   SetIndexBuffer(0,ExtADXBuffer);
   SetIndexBuffer(1,ExtPDIBuffer);
   SetIndexBuffer(2,ExtNDIBuffer);
   SetIndexBuffer(3,ExtPDBuffer,INDICATOR_CALCULATIONS);
   SetIndexBuffer(4,ExtNDBuffer,INDICATOR_CALCULATIONS);
   SetIndexBuffer(5,ExtTmpBuffer,INDICATOR_CALCULATIONS);
//--- indicator digits
   IndicatorSetInteger(INDICATOR_DIGITS,2);
 

Можно ли в тестере стратегий в визуальном режиме получить доступ к другим графикам (при мультивалютном тестировании). Например:

int OnInit()
  {
   int bars=iBars("EURUSD",PERIOD_H1);
   bars=iBars("GBPUSD",PERIOD_H1);
   bars=iBars("USDJPY",PERIOD_H1);
   
   return(INIT_SUCCEEDED);
  }
void OnTick()
  {
   long arr[];
   ArrayResize(arr,1);
   arr[0]=ChartFirst();
   long id=arr[0];
   while (!IsStopped()){
      id=ChartNext(id);
      if(id>=0){
         int s=ArraySize(arr);
         ArrayResize(arr,s+1);
         arr[s]=id;
      }
      else break;
   }
   Comment("Total charts: ",ArraySize(arr));   
  }

Если запустить в тестере стратегий этот советник, то в визуализаторе откроються графики EURUSD, GBPUSD, USDJPY, но

Comment("Total charts: ",ArraySize(arr));

выдаст, что графиков всего 1.