Ошибки, баги, вопросы - страница 813

 
VNIK:
Как вариант: создать новую тему в разделе "Торговые системы" со ссылкой на существующую и продолжить уже там где надо.

Cпс. Подумываю... об том же...  типа ч.1, часть2.

Мош кто более достойный на сие сподобится... :-)

 
Rosh:
К сожалению, такой возможности нет.
А зачем поломали? Была ведь. После появления "Торговых систем" пару тем туда переносили.
 
Через браузер гуглхроме с онлайн переводом проголосовал на форуме, потом зашел через фаерфокс(всегда им пользуюсь)  и опять можно голосовать в этой же ветке, проблема в браузере или баг сайта?
 

Вопрос к спецам по макроподстановкам...

В скрипте:

double plot1[],plot2[],plot3[];

#define macr(i) ploti
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   for(int i=0;i<3;i++)
     ArrayResize(macr(i),100);
  }

Нужно, чтобы в цикле for вместо macr(i) подставлялось plot1, plot2 и plot3... По моей версии подстановка идёт как ploti, что совсем не нужно :-((

Заранее благодарен!
 
Не получится. Препроцессор MQL5 не поддерживает конкатенацию токенов через ##. Можно написать предложение в сервисдеск. Или использовать двумерный массив вместо нескольких одномерных.
 
denkir:

...

Нужно, чтобы в цикле for вместо macr(i) подставлялось plot1, plot2 и plot3... По моей версии подстановка идёт как ploti, что совсем не нужно :-((

Заранее благодарен!
А если попробовать сделать через массив указателей?
 
Вопрос. В статье Переход с MQL4 на MQL5 в табл. "18. Доступ к таймсериям" в колонке "MQL5 " автор внутри функций использует безразмерный массив Arr[]. Вижу, что функция всегда возвращает только одно значение нулевого элемента массива. Может кто знает есть ли какой-то скрытый смысл использовать именно безразмерный массив вместо Arr[1]. В справке пишут же, что зная размер массива лучше столько элементов и указывать.
 
paladin800:
Вопрос. В статье Переход с MQL4 на MQL5 в табл. "18. Доступ к таймсериям" в колонке "MQL5 " автор внутри функций использует безразмерный массив Arr[]. Вижу, что функция всегда возвращает только одно значение нулевого элемента массива. Может кто знает есть ли какой-то скрытый смысл использовать именно безразмерный массив вместо Arr[1]. В справке пишут же, что зная размер массива лучше столько элементов и указывать.

Есть.

В MQL5 данный массив передаётся как аргумент функциям, которые управляют его размером по своей логике,

а именно, перераспределяют размер автоматически в зависимости от переданных параметров начальная точка и количество данных для копирования.

Если вы передадите как аргумент функциям CopyXXX статичный массив то получите ошибку.

ЗЫ Там ведь в коде идёт проверка размера массива с последующим принятием решения в зависимости от размера, так что вероятнее всего размер не статичный.

 

Во внешних параметрах советника я использую параметр R только = 1 или 2 или 12 или 13 (общий простой пример). Для правильности заполнения можно в OnInit() проверять этот параметр ну и если гражданин ошибочно ввёл другое число то сообщать об ошибке. Однако для ввода есть типы ENUM_... (напр. ENUM_MA_METHOD), когда просто из развёрнутого окошка можно выбрать значение.

Вопрос. Есть ли такая опция где самому можна сделать подобную конструкцию, так чтобы во внеш. параметрах по аналогии с ENUM_... появлялись только то что программист задумал, без необходимости проверки в OnInit(). Я не нашёл такое в документации. Если нету, то пожелание сделать такую вещь.

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
paladin800:

Вопрос. Есть ли такая опция где самому можна сделать подобную конструкцию, так чтобы во внеш. параметрах по аналогии с ENUM_... появлялись только то что программист задумал, без необходимости проверки в OnInit(). Я не нашёл такое в документации. Если нету, то пожелание сделать такую вещь.

Поясните другими словами, пожалуйста. Что то не понял о чем речь.
Причина обращения: