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

 
novic #:

Компиляция вашего варианта выдает ошибку: 'VLine' - wrong parameters count.


Мне кажется вы подаете больше 1 параметра функции, в этом ошибка.

 
f1nik #:

Мне кажется вы подаете больше 1 параметра функции, в этом ошибка.

К моему сожалению, всё равно не понимаю - вызываю функцию  VLine(IntegerToString(i),Time[i]); Если убераю параметр  Time[i], ошибок не выдает, но и линий не рисует. Если уберу  IntegerToString(i), выдает предупреждение: 

неявное преобразование числа в строку. Сделав же VLine(IntegerToString(Time[i])) - это,я так понимаю, и есть явное преобразование? - опять же,ошибок не выдает,но и линий не рисует.

 

  
Tretyakov Rostyslav #:
  

Не стучите лысиной по паркету - и так ясно, что специалист вы "так себе", а самомнение выше рогов вашей аватарной "коровки".

 
novic #:

Не стучите лысиной по паркету - и так ясно, что специалист вы "так себе", а самомнение выше рогов вашей аватарной "коровки".

Это было не Вам. Будьте внимательны.
 

Так я ничего и не понял, и не добился. Просто отказался от идеи рисовать линии, сделал, чтоб при наступлении заданных стратегией условий выдавался алерт. Это проще, но для анализа дольше - больше "телодвижений".

Всё равно, всем вовлечённым спасибо.

 

перенес из темы для новичков

---

вопрос не самого большого нуба, но кто как использует так сказать каталогизирование функционала? например у меня в роботе большое кол-во разного функционала,

открывая первую страницу сложно искать там, ту самую функцию, хорошо если она подключена как класс, но не все же так оформлять

7 include уже есть, функционал большой, работают раздельно стратегии в одном роботе через input (можно оптимизировать различные варианты), в будущем попробую нейросеть на основе функционала

 
novic #:

Так я ничего и не понял, и не добился. Просто отказался от идеи рисовать линии, сделал, чтоб при наступлении заданных стратегией условий выдавался алерт. Это проще, но для анализа дольше - больше "телодвижений".

Всё равно, всем вовлечённым спасибо.


//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 02.07.2008                                                     |
//|  Описание : Установка объекта OBJ_VLINE вертикальная линия                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cl - цвет линии                                                         |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    t1 - время                      (0  - время открытия текущего бара)     |
//|    st - стиль линии                (0  - простая линия)                    |
//|    wd - ширина линии               (1  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetVLine(color cl, string nm="", datetime t1=0, int st=0, int wd=1) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (t1<=0) t1=Time[0];
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_VLINE, 0, 0,0);
  ObjectSet(nm, OBJPROP_TIME1, t1);
  ObjectSet(nm, OBJPROP_COLOR, cl);
  ObjectSet(nm, OBJPROP_STYLE, st);
  ObjectSet(nm, OBJPROP_WIDTH, wd);
}
//+----------------------------------------------------------------------------+

Вот функция с которой понятно как рисовать линии. Вот тема в которой есть много полезных функций   https://www.mql5.com/ru/forum/131859

Это пример скрипта как рисовать линию на 3 баре от начала.
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   SetVLine (Red, IntegerToString(Time[2]), Time[2] );
  }
//+------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 02.07.2008                                                     |
//|  Описание : Установка объекта OBJ_VLINE вертикальная линия                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cl - цвет линии                                                         |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    t1 - время                      (0  - время открытия текущего бара)     |
//|    st - стиль линии                (0  - простая линия)                    |
//|    wd - ширина линии               (1  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetVLine(color cl, string nm="", datetime t1=0, int st=0, int wd=1) {
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (t1<=0) t1=Time[0];
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_VLINE, 0, 0,0);
  ObjectSet(nm, OBJPROP_TIME1, t1);
  ObjectSet(nm, OBJPROP_COLOR, cl);
  ObjectSet(nm, OBJPROP_STYLE, st);
  ObjectSet(nm, OBJPROP_WIDTH, wd);
}
//+----------------------------------------------------------------------------+
Только "Полезные функции от KimIV". - Функция ExistOrders - Возвращает флаг существования ордера по размеру лота. По умолчанию параметр равен - отсутствие ограничений, то есть любой
Только "Полезные функции от KimIV". - Функция ExistOrders - Возвращает флаг существования ордера по размеру лота. По умолчанию параметр равен - отсутствие ограничений, то есть любой
  • 2011.02.18
  • www.mql5.com
GetMaxLotFromOpenPos - Возвращает максимальный размер лота из открытых позиций. GetArrowInterval - Возвращает интервал установки сигнальных указателей. ExistInHistoryToDay - Возвращает флаг наличия ордера или позиции в истории за сегодня
 
lynxntech #:

перенес из темы для новичков

---

вопрос не самого большого нуба, но кто как использует так сказать каталогизирование функционала? например у меня в роботе большое кол-во разного функционала,

открывая первую страницу сложно искать там, ту самую функцию, хорошо если она подключена как класс, но не все же так оформлять

7 include уже есть, функционал большой, работают раздельно стратегии в одном роботе через input (можно оптимизировать различные варианты), в будущем попробую нейросеть на основе функционала

ВСЕГО ? :-)

вследствие скажем так, особенностей MQL, для каждого проекта делаю Includes.mqh который состоит из предварительных объявлений всех классов, объявления перечислений и include каждого требуемого mqh. Любой другой файл mql/mqh содержит только один #include "Includes.mqh"

тогда с матом пополам, оно работает и это можно поддерживать. И , да, это донельзя криво. Но библиотек/модулей тут нет и интерфейсы с имплементами в одном флаконе. У меня есть большие подозрения что компиляции тут вообще нет, это маркетинг.

 
Maxim Kuznetsov #:

ВСЕГО ? :-)

вследствие скажем так, особенностей MQL, для каждого проекта делаю Includes.mqh который состоит из предварительных объявлений всех классов, объявления перечислений и include каждого требуемого mqh. Любой другой файл mql/mqh содержит только один #include "Includes.mqh"

тогда с матом пополам, оно работает и это можно поддерживать. И , да, это донельзя криво. Но библиотек/модулей тут нет и интерфейсы с имплементами в одном флаконе. У меня есть большие подозрения что компиляции тут вообще нет, это маркетинг.

есть еще штатные trade 2, и универсальные функции  типа - еррор коды, с работой по времени достаточно объемная тоже в include, гарантированная загрузка истории(из справки)

в каждому include еще 100-500 строк, я же не windows-2 пишу

для меня это уже много и не удобно,

Максим, ключевое слово "проект", а тут в одном, в котором можно весь функционал через input протестировать, во всех вариациях, а в последующем возможно и в нейросеть запустить, может это ошибка

 
Прошу помощи сообщества...
На сайте не нашел.
MQL4 или MQL5

Как программно сохранять отчет тестера по окончании тестирования ?