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

 
Sayberix:

В аргументе ф-ции:

вы использовали UPPER_LINE.

Откуда берется это значение параметра, из полученного ранее хендла:

?

Нет. Это значение берется из справки iEnvelopes

Документация по MQL5: Технические индикаторы / iEnvelopes
Документация по MQL5: Технические индикаторы / iEnvelopes
  • www.mql5.com
//|                                              Demo_iEnvelopes.mq5 | //|                        Copyright 2011, MetaQuotes Software Corp. | //|                                             https://www.mql5.com | //| Перечисление способов создания хэндла                            |                   ma_period=14;              ...
 

Добрый день. При запуске советника на валюте GBPUSD устанавливаю индикатор в коде по EURUSD, советник при запуске падает. При этом, если сделать наоборот, запустить советник на EURUSD, а индикатору прописать GBPUSD все работает. С чем это может быть связано?

   CSignalAC *filter0=new CSignalAC;

   if(filter0==NULL)

     {

      //--- failed

      printf(__FUNCTION__+": error creating filter0");

      ExtExpert.Deinit();

      return(INIT_FAILED);

     }

   signal.AddFilter(filter0);

//--- Set filter parameters

   filter0.Symbol("EURUSD");

   filter0.Weight(Signal_AC_Weight);
 
Nikita Bushuev:

Добрый день. При запуске советника на валюте GBPUSD устанавливаю индикатор в коде по EURUSD, советник при запуске падает. При этом, если сделать наоборот, запустить советник на EURUSD, а индикатору прописать GBPUSD все работает. С чем это может быть связано?

1. Сгенерируйте советник при помощи Wizard MQL5 - укажите, например, для советника 'GBPUSD' и для модуля сигналов 'EURUSD'. Вы получите ПРАВИЛЬНЫЙ образец кода. Изучите код. В дальнейшем просто не допускайте ручной правки, а генерируйте код при помощи Wizard MQL5.

2. Если Вы указали для советника 'GBPUSD' - значит запускать этого советника нужно ТОЛЬКО на 'GBPUSD'.

Файлы:
1.mq5  13 kb
 
Vladimir Karputov:

1. Сгенерируйте советник при помощи Wizard MQL5 - укажите, например, для советника 'GBPUSD' и для модуля сигналов 'EURUSD'. Вы получите ПРАВИЛЬНЫЙ образец кода. Изучите код. В дальнейшем просто не допускайте ручной правки, а генерируйте код при помощи Wizard MQL5.

2. Если Вы указали для советника 'GBPUSD' - значит запускать этого советника нужно ТОЛЬКО на 'GBPUSD'.

Владимир, я и генерировал код с помощью визарда MQL5. Ваш советник попробовал, он также не работает у меня при запуске на валюте GBPUSD.

В журнале пишет следующее:

2020.08.16 13:01:20.793 Core 1  EURUSD: symbol to be synchronized
2020.08.16 13:01:20.793 Core 1  EURUSD: symbol synchronized already, 18 bytes received
2020.08.16 13:01:20.793 Core 1  2018.01.01 00:00:00   cannot load indicator 'Accelerator Oscillator' [4804]
2020.08.16 13:01:20.793 Core 1  2018.01.01 00:00:00   CSignalAC::InitAC: error initializing object
2020.08.16 13:01:20.793 Core 1  2018.01.01 00:00:00   CExpert::InitIndicators: error initialization indicators of signal object
2020.08.16 13:01:20.793 Core 1  2018.01.01 00:00:00   OnInit: error initializing indicators
2020.08.16 13:01:20.793 Core 1  tester stopped because OnInit returns non-zero code 1
 
Nikita Bushuev:

Владимир, я и генерировал код с помощью визарда MQL5. Ваш советник попробовал, он также не работает у меня при запуске на валюте GBPUSD.

В журнале пишет следующее:

Читайте то что пишется в журнале. Там описание ВАШЕЙ ошибки. (если это тестер - то журнал один, если это терминал - журнала ДВА).


Также уточняйте: на каком символе и на каком таймфрейме производите запуск. Сегодня телепаты в отпуске и мысли читать некому.

 
Vladimir Karputov:

Читайте то что пишется в журнале. Там описание ВАШЕЙ ошибки. (если это тестер - то журнал один, если это терминал - журнала ДВА).

Тестировщик падает вот в этом месте при создании хэндла индикатора, т.е. он = INVALID_HANDLE. В переменной symbol "EURUSD", период тоже задан. Как такое может быть и что означает ошибка 4804?

ERR_INDICATOR_CANNOT_APPLY

4804

Индикатор не может быть применен к другому индикатору

m_handle=iAC(symbol,period);
bool CiAC::Create(const string symbol,const ENUM_TIMEFRAMES period)
  {
//--- check history
   if(!SetSymbolPeriod(symbol,period))
      return(false);
//--- create
   m_handle=iAC(symbol,period);
//--- check result
   if(m_handle==INVALID_HANDLE)
      return(false);
//--- idicator successfully created
   if(!Initialize(symbol,period))
     {
      //--- initialization failed
      IndicatorRelease(m_handle);
      m_handle=INVALID_HANDLE;
      return(false);
     }
//--- ok
   return(true);
  }
Документация по MQL5: Предопределенные переменные / _Symbol
Документация по MQL5: Предопределенные переменные / _Symbol
  • www.mql5.com
Предопределенные переменные / _Symbol - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Nikita Bushuev:

Тестировщик падает вот в этом месте при создании хэндла индикатора, т.е. он = INVALID_HANDLE. В переменной symbol "EURUSD", период тоже задан. Как такое может быть и что означает ошибка 4804?

ERR_INDICATOR_CANNOT_APPLY

4804

Индикатор не может быть применен к другому индикатору

Читайте журнал - там описание ВАШЕЙ ошибки. Чем быстрее прочитаете, тем быстрее поймете.

Также уточняйте: на каком символе и на каком таймфрейме производите запуск. Сегодня телепаты в отпуске и мысли читать некому.
 
Vladimir Karputov:

Читайте журнал - там описание ВАШЕЙ ошибки. Чем быстрее прочитаете, тем быстрее поймете.

Также уточняйте: на каком символе и на каком таймфрейме производите запуск. Сегодня телепаты в отпуске и мысли читать некому.

Вопрос решился переустановкой платформы.

 
Vladimir Pastushak:

Уважаемые разработчики, продукты в маркете не могут пройти проверку 

Код приложен 

CopyRates  вызывает зависание, в результате маркет пишет

test on EURUSD,H1 (netting)

tester takes too long time

strategy tester report not found

И правильно валидатор отсечку выдал: Вы ведь вероятно не очень подумали, когда захотели на КАЖДОМ ТИКЕ запрашивать 1440 элементов ПО ВСЕМ СИМВОЛАМ терминала? При этом даже не подумали: на сервере может быть запросто более пяти тысяч символов, на символе может НЕ БЫТЬ 1440 баров ...


В общем в тему для новичков. Однозначно.

 
Здравствуйте! Подскажите пожалуйста почему не загружаются графики? 14.08 зарегистрировалась на торговой платформе МТ5 4 графика из 7 до сих пор висят в ожидании обновления. Хотя на ранее зарегистрированном демо-счете все графики вовремя обновляются.