Помогите разобраться с переводом с MQL4 на MQL5

 

Имею вот такой код на MQL4, хочу перевести в MQL5.  Помогите пожалуйста, а то не могу понять как перевести. Одна ошибка: 'ObjectCreate' - wrong parameters count (Если записать так:  ObjectCreate(0, PatternText[shift], OBJ_TEXT, 0, Time[shift1], High[shift1]);), то не ругается. на сколько правильно не знаю.

И еще одна ошибка: 'ObjectSetText' - function not defined. В MQL5 эта функция звучит как ObjectSetString, но как задать эти параметры что у меня я вообще не знаю. Кому не сложно помогите!



     
 
investr777:

Имею вот такой код на MQL4, хочу перевести в MQL5.  Помогите пожалуйста, а то не могу понять как перевести. Одна ошибка: 'ObjectCreate' - wrong parameters count (Если записать так:  ObjectCreate(0, PatternText[shift], OBJ_TEXT, 0, Time[shift1], High[shift1] + Range*1.5);), то не ругается. на сколько правильно не знаю.

И еще одна ошибка: 'ObjectSetText' - function not defined. В MQL5 эта функция звучит как ObjectSetString, но как задать эти параметры что у меня я вообще не знаю. Кому не сложно помогите!



     

Сюда заглядывали!
 
Посмотрите вот здесь , очень хороший пример......https://www.mql5.com/ru/forum/31602
Индикаторы: Japanese Candlestick Patterns
Индикаторы: Japanese Candlestick Patterns
  • 2014.06.02
  • www.mql5.com
Индикатор показывает различные паттерны японских свечей на графике.
 

Не особо получается(
 
Rafael Sahibgareev:
Посмотрите вот здесь , очень хороший пример......https://www.mql5.com/ru/forum/31602

пробовал, не получается сделать
 
Посмотрите справку по OBJ_TEXT - там есть очень хороший и подробный код: и создание и перемещение и изменение текста и удаление...
 

Замечание раз: у Вас объявлено два буфера

#property indicator_buffers 2

а по факту есть только один массив

string PatternText[5000];

да и тот не понятно, что, так как в OnInit нет привязки массивов к индикаторным буферам

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   
//---
   return(INIT_SUCCEEDED);
  }
 
Vladimir Karputov:

Замечание раз: у Вас объявлено два буфера

а по факту есть только один массив

да и тот не понятно, что, так как в OnInit нет привязки массивов к индикаторным буферам


Я с mql4 переделываю, а там нету ничего такого:

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init() {
      
   return(0);
  }
 
investr777:


.... а там нету ничего такого:

В MQL5 такая отговорка "не катит" :).

Итак, открываете любой пример индикатора \MQL5\Indicators\Examples - чтобы посмотреть на формат оформления.

Дальше, статья: Как написать индикатор в MQL5


После этого ответьте себе на вопрос: у Вашего индикатора вообще будет индикаторный буфер?

 
Vladimir Karputov:

В MQL5 такая отговорка "не катит" :).

Итак, открываете любой пример индикатора \MQL5\Indicators\Examples - чтобы посмотреть на формат оформления.

Дальше, статья: Как написать индикатор в MQL5


После этого ответьте себе на вопрос: у Вашего индикатора вообще будет индикаторный буфер?


Спасибо. Попробую разобраться.
 
investr777:


Я с mql4 переделываю, а там нету ничего такого:

Практически всё одинаково что в индикаторах mql4, что в индикаторах mql5.

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

Причина обращения: