Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2615

 
Alexey Belyakov #:

Добрый день!

Подскажите пожалуйста. Как узнать ID второго графика?

Подробнее:  Открыто 2 графика. ID номер текущего графика узнаю при помощи:


А как узнать ID номер второго графика?

Что мешало поставить курсор в редакторе на ChartID() и нажать F1 для вызова справки?

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

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- переменные для идентификаторов графиков
   long curr_chart=ChartFirst();
   int i=0;
   //--- распечатаем в журнале данные первого графика
   PrintFormat("Chart[%d] ID: %I64d,  symbol: %s", i, curr_chart, ChartSymbol(curr_chart));
   
//--- пока не дошли до лимита открытых графиков (CHARTS_MAX)
   while(!IsStopped() && i < CHARTS_MAX)
     {
      //--- увеличиваем счётчик графиков
      i++;
      //--- на основании предыдущего графика получим идентификатор следующего
      curr_chart=ChartNext(curr_chart);
      
      //--- если достигли конца списка графиков - завершаем цикл
      if(curr_chart<0)
         break;
         
      //--- распечатаем в журнале данные очередного графика
      PrintFormat("Chart[%d] ID: %I64d,  symbol: %s", i, curr_chart, ChartSymbol(curr_chart));
     }
   /*
   результат:
   Chart[0] ID: 133246248352168440,  symbol: EURUSD
   Chart[1] ID: 133346697706632015,  symbol: USDJPY
   Chart[2] ID: 133246248352168439,  symbol: GBPUSD
   Chart[3] ID: 133346697706632009,  symbol: RU000A103661
   Chart[4] ID: 133346697706632010,  symbol: AEM4
   Chart[5] ID: 133346697706632011,  symbol: AA.SPB
   Chart[6] ID: 133346697706632012,  symbol: ALLFUTMIX
   Chart[7] ID: 133346697706632013,  symbol: EURUSD
   Chart[8] ID: 133346697706632014,  symbol: SBER
   */
  }

Справка пишется для всех.

Документация по MQL5: Операции с графиками / ChartID
Документация по MQL5: Операции с графиками / ChartID
  • www.mql5.com
Возвращает идентификатор текущего графика. Возвращаемое значение Значение типа long . Пример...
 
Artyom Trishkin #:

Что мешало поставить курсор в редакторе на ChartID() и нажать F1 для вызова справки?

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

Справка пишется для всех.

Да мало-ли для кого пишется… Главное кем читается…

 
Nikolay Skrigan #:

И DeepSeek тоже неплохо работает в качестве справочника. 
Правда с ним нужно осторожно, и перепроверять. Но черновую работу делает неплохо, если корректно формулировать задания.

Дописал код робота - перевод с МТ4 на МТ5.
Столкнулся в конце вот с чем,
У меня в правом верхнем углу графика отображаются параметры настройки и состояния робота.
Строки все разной длины, и еще длина меняется для разных инструментов и в ходе работы.
В MQL4 проблемы не было. Смещение по оси Х задавалось от правого края графика до конца строки.
В MQL5 опытным путем выяснил, что смещение задается до начала строки. И нужны какие-то танцы с бубном, чтобы привести все к тому виду, который был в МТ4 и который показан на графике.
Можно ли как-то решить проблему без лишних сложностей? Или обязательны танцы с бубном типа измерения длины текста в пикселях (был такой совет...)



 
Nikolay Skrigan #:

Дописал код робота - перевод с МТ4 на МТ5.
Столкнулся в конце вот с чем,
У меня в правом верхнем углу графика отображаются параметры настройки и состояния робота.
Строки все разной длины, и еще длина меняется для разных инструментов и в ходе работы.
В MQL4 проблемы не было. Смещение по оси Х задавалось от правого края графика до конца строки.
В MQL5 опытным путем выяснил, что смещение задается до начала строки. И нужны какие-то танцы с бубном, чтобы привести все к тому виду, который был в МТ4 и который показан на графике.
Можно ли как-то решить проблему без лишних сложностей? Или обязательны танцы с бубном типа измерения длины текста в пикселях (был такой совет...)

Через OBJPROP_CORNER и  OBJPROP_ANCHOR не решается?

 
JRandomTrader #:

Через OBJPROP_CORNER и  OBJPROP_ANCHOR не решается?



С OBJPROP_ANCHOR пока не знаком, надо посмотреть, что это такое...
P.S. Спасибо. Всё ОК.



 
Nikolay Skrigan #:

Дописал код робота - перевод с МТ4 на МТ5.
Столкнулся в конце вот с чем,
У меня в правом верхнем углу графика отображаются параметры настройки и состояния робота.
Строки все разной длины, и еще длина меняется для разных инструментов и в ходе работы.
В MQL4 проблемы не было. Смещение по оси Х задавалось от правого края графика до конца строки.
В MQL5 опытным путем выяснил, что смещение задается до начала строки. И нужны какие-то танцы с бубном, чтобы привести все к тому виду, который был в МТ4 и который показан на графике.
Можно ли как-то решить проблему без лишних сложностей? Или обязательны танцы с бубном типа измерения длины текста в пикселях (был такой совет...)



С помощью DeepSeek и форума завершил перевод кодом с MQL4 на MQL5 для комплекта из 5 индикаторов и мультифреймового торгового робота.
Все проблемы решены. Все сделал в точности так как хотел и как было сделано в МТ4.
На рисунке рабочая область МТ5 с полным комплектом индикаторов и подключенным торговым роботом.

Особенно приятно было получать дельные и конкретные совета от форумчан. Спасибо им огромное.

Что касается DeepSeek, то это неплохой справочник и инструмент для выполнения черновой работы.

Первые попытки были неудачными. Но потом я выработал следующий алгоритм.
1. Создаю пустую базовую структуру.
2. Наполняю ее содержимым.
При реализации п.2 нужно:
1. Четко, до мелочей, представлять чего ты хочешь.
2. Работать по кускам, давая ИИ мелкие фрагменты текста. Выверять их до мелочей и только потом двигаться дальше.

По принципу «Сделайте мне красиво» не работает.

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

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

 
Nikolay Skrigan #:

С помощью DeepSeek и форума завершил перевод кодом с MQL4 на MQL5 для комплекта из 5 индикаторов и мультифреймового торгового робота.
Все проблемы решены. Все сделал в точности так как хотел и как было сделано в МТ4.
На рисунке рабочая область МТ5 с полным комплектом индикаторов и подключенным торговым роботом.

Особенно приятно было получать дельные и конкретные совета от форумчан. Спасибо им огромное.

Что касается DeepSeek, то это неплохой справочник и инструмент для выполнения черновой работы.

Первые попытки были неудачными. Но потом я выработал следующий алгоритм.
1. Создаю пустую базовую структуру.
2. Наполняю ее содержимым.
При реализации п.2 нужно:
1. Четко, до мелочей, представлять чего ты хочешь.
2. Работать по кускам, давая ИИ мелкие фрагменты текста. Выверять их до мелочей и только потом двигаться дальше.

По принципу «Сделайте мне красиво» не работает.

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

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

Спс тут тоже учту
ервые попытки были неудачными. Но потом я выработал следующий алгоритм.
1. Создаю пустую базовую структуру.
2. Наполняю ее содержимым.
При реализации п.2 нужно:
1. Четко, до мелочей, представлять чего ты хочешь.
2. Работать по кускам, давая ИИ мелкие фрагменты текста. Выверять их до мелочей и только потом двигаться дальше

 
Nikolay Skrigan #:

С помощью DeepSeek и форума завершил перевод кодом с MQL4 на MQL5 для комплекта из 5 индикаторов и мультифреймового торгового робота.
Все проблемы решены. Все сделал в точности так как хотел и как было сделано в МТ4.
На рисунке рабочая область МТ5 с полным комплектом индикаторов и подключенным торговым роботом.

Особенно приятно было получать дельные и конкретные совета от форумчан. Спасибо им огромное.

Что касается DeepSeek, то это неплохой справочник и инструмент для выполнения черновой работы.

Первые попытки были неудачными. Но потом я выработал следующий алгоритм.
1. Создаю пустую базовую структуру.
2. Наполняю ее содержимым.
При реализации п.2 нужно:
1. Четко, до мелочей, представлять чего ты хочешь.
2. Работать по кускам, давая ИИ мелкие фрагменты текста. Выверять их до мелочей и только потом двигаться дальше.

По принципу «Сделайте мне красиво» не работает.

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

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

К сожалению проблемы не закончились. 
Во вторник закончил код робота и запустил отладку на демо-счете. Торгую тактику "Линейка ордеров" - робот + ручное правление рисками с добавкой объемов.
За двое суток выловил и устранил два мелких бага, не влияющих на работоспособность робота, но сбивающих алгоритм проведения сделок. Результат за два дня на демо:

Попытался запустить на тестер стратегий. Но наверное у меня кривые руки или тестер не работает для мультифреймовых роботов. В МТ4 не было никаких проблем. Тут же запускаю режим с визуализацией. График идет, робот стоит колом и ничего не считает, и ничего не меняется... В реале работает без проблем.
Есть ли какая идея или совет, с чего начать, чтобы как-то сдвинуть процесс с мертвой точки. 
Смотрел документацию, вроде проблем быть не должно... Но тем не менее...

 
Nikolay Skrigan #:
алгоритм

символы должны быть выбраны в обзоре рынка и отображаться во вкладке. 

может нет истории по какому либо символу. Откройте его и попереключайте таймфреймы....

все символы откройте во вкладках используемые в роботе.

проверьте еще раз объемы входов и размер счета.

Принты поставьте после ф-ий открытия - что они возвращают во вкладки журнал и эксперты? 

 
Nikolay Skrigan #:
Есть ли какая идея или совет, с чего начать, чтобы как-то сдвинуть процесс с мертвой точки

Видя код было бы проще Вам помочь.