Новая версия платформы MetaTrader 5 build 2650: Фоновая загрузка графиков и улучшения в профилировщике MQL5-кода - страница 39

 

Сайт не работает. Продолжает удалять, пока я печатаю, и дает странные фильтры изображениям ошибок, которые я пытался загрузить.

Я должен был написать это за 10 минут !!!

bug


Затем:

bug

 

К слову сказать, документация говорит, что это энум, а не бул.

P.S. Я так и не нашёл, как отключить (в смысле программно) значки входа-выхода сделок и соединяющие их линии. Да и сам график типа свечей тоже. Не считая CHART_SHOW, но тогда и коммент советника пропадает. Приведённый в цитируемом посте костыль работает, конечно, но это всё же не официальный документированный способ.

 
Paul anscombe :

Version 2650 - Error with MT5 Fib Retracement Tool

when placing Fibonacci on weekly or monthly charts and then changing the timeframe, the levels are not displayed on the M1 chart - the All timeframes value is set for visualization.


Version 2650 - Bug with MT5 Fib Retracement Tool

when placing a Fib on the Weekly or Monthly charts and then changing timeframe the levels do not display on the M1 chart - visualization is set to All Timeframes.


Версия 2650 - Ошибка с MT5 Fib Retracement Tool при размещении Фибоначчи на недельных или месячных графиках с последующим изменением таймфрейма, уровни не отображаются на графике M1 - визуализация установлена на «Все таймфреймы»


кто-нибудь знает, будет ли это исправлено?

 
Paul Anscombe:

Версия 2650 - Ошибка с MT5 Fib Retracement Tool при размещении Фибоначчи на недельных или месячных графиках с последующим изменением таймфрейма, уровни не отображаются на графике M1 - визуализация установлена на «Все таймфреймы»


кто-нибудь знает, будет ли это исправлено?

Как Вы определили, что уровни не отображаются на M1?

Покажите скриншоты, иллюстрирующие проблему

 

Подскажите пожалуйста , - в последних версиях что то изменилось?

пытаюсь читать разные ТФ - не получается. Что то видимо не знаю.


  if(CopyBuffer(handle_MA233M15,1,0,to_copy,Label2Buffer)<=0)
      return;  //----------------------------------  ПОСТОЯННО ПРИХОДИТ СЮДА ***************
//+------------------------------------------------------------------+
//|                                                       yz_RS1.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_plots   2
//--- plot Label1
#property indicator_label1  "Label1"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrYellow
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot Label2
#property indicator_label2  "Label2"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrOrange
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- indicator buffers
double         Label1Buffer[];
double         Label2Buffer[];

int handle_MA8D1;
int handle_MA233M15;
int                  ma8_period    = 8;               //
int                  ma8_shift     = 0;               //
ENUM_MA_METHOD       ma8_method    = MODE_EMA;        //
ENUM_APPLIED_PRICE   ma8_applied_price= PRICE_CLOSE;  //


int                  ma233_period    = 233;            //
int                  ma233_shift     = 0;              //
ENUM_MA_METHOD       ma233_method    = MODE_EMA;       //
ENUM_APPLIED_PRICE   ma233_applied_price= PRICE_CLOSE; //


//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,Label1Buffer,INDICATOR_DATA);
   SetIndexBuffer(1,Label2Buffer,INDICATOR_DATA);



   ArraySetAsSeries(Label1Buffer,true);
   ArraySetAsSeries(Label2Buffer,true);



   handle_MA8D1   = iMA(Symbol(),PERIOD_D1,ma8_period,  ma8_shift,ma8_method,ma8_applied_price);
   if(handle_MA8D1==INVALID_HANDLE)
     {
      PrintFormat("Failed to create handle of the handle_MA8D1 indicator for the symbol %s/%s, error code %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      return(INIT_FAILED);
     }

   handle_MA233M15 = iMA(Symbol(),PERIOD_M15,ma233_period,  ma233_shift,ma233_method,ma233_applied_price);
   if(handle_MA233M15==INVALID_HANDLE)
     {
      PrintFormat("Failed to create handle of the handle_MA233M15 indicator for the symbol %s/%s, error code %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      return(INIT_FAILED);
     }









   EventSetTimer(5);

OnTimer();


//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
//---
   int to_copy = 1;

   Comment(" "+ TimeToString(TimeLocal(),TIME_DATE|TIME_MINUTES|TIME_SECONDS));


   if(CopyBuffer(handle_MA8D1,0,0,to_copy,Label1Buffer)<=0)
      return;
   if(CopyBuffer(handle_MA233M15,1,0,to_copy,Label2Buffer)<=0)
      return;  //----------------------------------  ПОСТОЯННО ПРИХОДИТ СЮДА ***************
      
   printf(" %s ",TimeToString(TimeLocal(),TIME_DATE|TIME_MINUTES|TIME_SECONDS));
      
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---

  }
//+------------------------------------------------------------------+
 
Yuriy Zaytsev:

Подскажите пожалуйста , - в последних версиях что то изменилось?

пытаюсь читать разные ТФ - не получается. Что то видимо не знаю.


У индикатора iMA один буфер, а не два:

   if(CopyBuffer(handle_MA233M15,1,0,to_copy,Label2Buffer)<=0)
      return;  //----------------------------------  ПОСТОЯННО ПРИХОДИТ СЮДА ***************
 
Vladimir Karputov:

У индикатора iMA один буфер, а не два:

спасибо!

вот так пошло

 то что поправил

#property indicator_buffers 1
#property indicator_plots   1
////--- plot Label2
//#property indicator_label2  "Label2"
//#property indicator_type2   DRAW_LINE
//#property indicator_color2  clrOrange
//#property indicator_style2  STYLE_SOLID
//#property indicator_width2  1
//--- indicator buffers


...

int OnInit()
  {
   //SetIndexBuffer(1,Label2Buffer,INDICATOR_DATA);

...

void OnTimer()
  {
..
   if(CopyBuffer(handle_MA233M15,0,0,to_copy,Label2Buffer)<=0)
      return;
 

Друзья по увлечению , наблюдаю картину.


Пытаюсь стартовать терминал с ключом /portable

"D:\Открытие Брокер\terminal64.exe" /portable

при этом  файлик в папке   есть D:\Открытие Брокер\MQL5\Indicators\my\YZ_TEST.MQ5

после старта , в самом мт5 вижу девственно чистый набор индикаторов  , индикатора - файла    YZ_TEST.MQ5 не нахожу

ощущение что терминал стартует с данными  от C:\Users\YuraZ\AppData\Roaming\MetaQuotes\ {ну и тут для конкретного терминала папка }

что может быть не так ?

2020.11.22 21:31:49.009 Terminal D:\Открытие Брокер

 
Yuriy Zaytsev:

Друзья по увлечению , наблюдаю картину.


Пытаюсь стартовать терминал с ключом /portable

"D:\Открытие Брокер\terminal64.exe" /portable

при этом  файлик в папке   есть D:\Открытие Брокер\MQL5\Indicators\my\YZ_TEST.MQ5

после старта , в самом мт5 вижу девственно чистый набор индикаторов  , индикатора - файла    YZ_TEST.MQ5 не нахожу

ощущение что терминал стартует с данными  от C:\Users\YuraZ\AppData\Roaming\MetaQuotes\ {ну и тут для конкретного терминала папка }

что может быть не так ?

2020.11.22 21:31:49.009 Terminal D:\Открытие Брокер

 
Artyom Trishkin:

Попадаю именно в   D:\Открытие Брокер

Делаю эксперимент

1 - придавил кнопку открыть каталог данных ( попал туда куда надо - D:\Открытие Брокер)

2-вышел из терминала

3-положил в каталог  D:\Открытие Брокер\MQL5\Indicators\my\TEST2.MQ5

    Содержимое  TEST2 , болванка сгенерированного пользовательского индикатора

4 Стартую   "D:\Открытие Брокер\terminal64.exe" /portable  и наблюдаю чудо! Индикатор   TEST2 в окружении ЕСТЬ.



может действие по открытию каталога данных - помогло метатрейдеру понять где искать теперь каталог D:\Открытие Брокер\MQL5 ?

MT5  видимо не понимал что стартанул с каталога  D:\Открытие Брокер   с ключом  /portable , и что теперь MQL5  нужно искать от корня  D:\Открытие Брокер, 

а не в     C:\Users\YuraZ\AppData\Roaming\MetaQuotes , ощущение было что он искал папку именно тут C:\Users\YuraZ\AppData\Roaming\MetaQuotes .

вопрос закрыт.

Артем , Владимир  спасибо, так или иначе помогли

 p.s.

И да , кстати MetaEditor оказался более догадливым - он изначально попадал именно в  D:\Открытие Брокер\MQL5


Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • www.mql5.com
Наконец мы получили возможность попробовать в работе новый торговый терминал - MetaTrader 5 . Вне сомнения, продукт заслуживает внимания и имеет множество новых возможностей по сравнению со своим предшественником. Важными преимуществами этой платформы среди прочих являются: Существенно доработанный язык, позволяющий теперь программировать...