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

 
Roman Kutemov:
Да, да. Жизнь усложнять не надо.)) 
После мт4 вообще трудно въезжать. 

Главное не выключать голову и не пользоваться готовыми решениями. И всё получится. Иначе переход в разряд лего-программистов неизбежен.

 
Alexey Viktorov:

Главное не выключать голову и не пользоваться готовыми решениями. И всё получится. Иначе переход в разряд лего-программистов неизбежен.

Боюсь, даже Вы не в состоянии пройти начальную торговую проверку своим самостоятельным решением. Поэтому рекомендация носит сомнительный характер.

 
fxsaber:

Боюсь, даже Вы не в состоянии пройти начальную торговую проверку своим самостоятельным решением. Поэтому рекомендация носит сомнительный характер.

Обратите внимание: я ни слова не сказал о вашем коде. А вы в ответ сочинили "начальную торговую проверку", что это и с чем едят? Я всегда говорил и буду говорить, что не надо пользоваться готовыми чужими решениями, иначе переход в разряд лего-программистов неизбежен.

 
Alexey Viktorov:

Обратите внимание: я ни слова не сказал о вашем коде.

Аналогично. Есть определенные места в MT5, где нужно обладать очень высокой компетенцией, чтобы писать самостоятельно.

А вы в ответ сочинили "начальную торговую проверку", что это и с чем едят?

Тут об этом.

Я всегда говорил и буду говорить, что не надо пользоваться готовыми чужими решениями, иначе переход в разряд лего-программистов неизбежен.

Некорректно рекомендовать писать с нуля ту же AlgLib. Лего - часто хорошо.

Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть V). Классы и коллекция торговых событий, отправка событий в программу"
Обсуждение статьи "Библиотека для простого и быстрого создания программ для MetaTrader (Часть V). Классы и коллекция торговых событий, отправка событий в программу"
  • 2019.04.11
  • www.mql5.com
Опубликована статья Библиотека для простого и быстрого создания программ для MetaTrader (Часть V...
 
Alexey Viktorov:

Я всегда говорил и буду говорить, что не надо пользоваться готовыми чужими решениями, иначе переход в разряд лего-программистов неизбежен.

умение читать и пользоваться чужими программными решениями это всегда плюс в карму программиста,

а изобретать свои велосипеды, это напрасно потраченное время и самообман, что "мое решение - это самое правильное решение!" 

ЗЫ: Вы всегда пользуетесь чужими готовыми решениями, начиная от встроенных функций MQL и заканчивая тем, что Вы всегда будете копировать логику написания программ тех авторов книг (статей), с которых начали изучение языка программирования

ЗЫ: https://www.mql5.com/ru/code/25166  , Вы легопрограммист! исправьте срочно:

#include <Trade\Trade.mqh>

CTrade trade;
Советник 4UJ
Советник 4UJ
  • www.mql5.com
Рекомендаций по валютной паре нет. Используемые индикаторы: Простая скользящая средняя с периодом 48 — SMA(48). Индикатор ATR с периодом 7 и MA по ценам ATR с периодом 30 Условия для покупок: 1. Цена находится выше скользящей средней. 2. Индикатор ATR пересекает свою скользящую среднюю снизу вверх. 3. Как только сформируется первая медвежья...
 
Vitaly Muzichenko:

Тогда проблема уйдёт.

Можно также сразу указать размер массива, в данном случае 1 элемент

Спасибо за ответ.

Кажется, что проблема это ушла, но главная для меня проблема в ошибке

Failed to copy data from the handle_Regressor indicator, error code 4806

которая возникает при вызове этого индикатора, при этом пол дня советник работает нормально.

Код в советнике по вызову индикатора

//+------------------------------------------------------------------+
//|значение Regressor Номера буферов: 0 - Up, 1 - Center, 2 - Low    |
//+------------------------------------------------------------------+
double Regressorf(int Bufer,int index)
  {
   double MA[1];
   ResetLastError();
   if(CopyBuffer(handle_Regressor,Bufer,index,1,MA)<0)
     {
      Print("handle_Regressor: Bufer=",Bufer," index=",index);
      PrintFormat("Failed to copy data from the handle_Regressor indicator, error code %d",GetLastError());
      return(0.0);
     }
     Print("handle_Regressor: Bufer=",Bufer," index=",index, " arr=",MA[0]);
   return MA[0];
  }

Уже даже и не знаю что делать, индикатор не выдает ошибок, а что не так не могу понять!

При этом ошибка ловится только на реальных данных - в тестере не ловится.

P.S. Нашел в логах ошибку  в индикаторе - сейчас внесу правки и посмотрю, будет ли опять ошибка.
 
Igor Makanu:

умение читать и пользоваться чужими программными решениями это всегда плюс в карму программиста,

Не вдавайтесь в крайности. Я не говорил о чтении и понимании чужого кода, тем более кода стандартной библиотеки. Хотя там такое наворочено...

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

 

fxsaber:

часто хорошо.

Часто не значит абсолютно всегда, а вы свои поделки рекламируете даже там где этого не надо, не понимая того что ваш код читать сложнее китайской грамоты. На этом диалог заканчиваю.

 

Здравствуйте. Объясните кто-нибудь доступно, что есть такое "Plots" в MQL5? К буферам не относится, но при этом свойство indicator_plots создаёт перечень свойств объекта отрисовки как и буферы. При использовании средств MQL4 было понятно, что обращение идёт к конкретному объекту отрисовки, а теперь появилось новое свойство препроцессора indicator_plots, которое задаёт количество непонятно чего.

 
The_Sheikh:

Здравствуйте. Объясните кто-нибудь доступно, что есть такое "Plots" в MQL5? К буферам не относится, но при этом свойство indicator_plots создаёт перечень свойств объекта отрисовки как и буферы. При использовании средств MQL4 было понятно, что обращение идёт к конкретному объекту отрисовки, а теперь появилось новое свойство препроцессора indicator_plots, которое задаёт количество непонятно чего.

Наверное, наглядно будет для понимания, если запустить этот индикатор в MT4 и MT5. При конвертации в MT5 пришлось использовать plots

Потому что только два буфера рисоваться должны.
Причина обращения: