Здравствуйте. Подскажите пожалуйста.
Для наглядности вопроса, предположим, что я хочу создать индикатор где будет 100 разных МА-шек.
Я не понимаю, как массово проводить однотипные действия с динамическими массивами для каждой МА-шки.
Как их массово создавать и затем с помощью цикла перебирать?
То, как я умею делать, я привел в коде ниже. А как это сделать без таких огородов не выходит. Помогите пожалуйста :(
То как я пытался сделать, но mql такого не пропускает:
Благодарю за все ответы!
P.S. Не кидайте в меня помидорами :)
Предполагаю, что решение должно быть тривиальным, а это все мое непонимание теории C++
так же можно обойтись одним массивом.
Вот примеры как только с одним массивом рисуется более тысячи MA-шек. Причем быстрее.
Здравствуйте. Подскажите пожалуйста.
Можно так, как Дмитрий говорил:
struct My { double ma[]; int handle; } my[100]; for(int i=0; i<100; i++) { SetIndexBuffer(i, my[i].ma, INDICATOR_DATA); } for(int i=0; i<100; i++) { my[i].handle = iMA(Symbol(), PERIOD_CURRENT, i+1, 0, MODE_SMA, PRICE_CLOSE); } for(int i=0; i<100; i++) { CopyBuffer(my[i].handle, 0, 0, rates_total, my[i].ma); }
так же можно обойтись одним массивом.
Вот примеры как только с одним массивом рисуется более тысячи MA-шек. Причем быстрее.
Спасибо, пригодится. Очень круто выглядит )
Можно так, как Дмитрий говорил:
Такое можно сократить?
#property indicator_type1 DRAW_COLOR_LINE #property indicator_label1 "MA_1" #property indicator_color1 clrBlue, clrSilver #property indicator_style1 STYLE_SOLID #property indicator_width1 1 #property indicator_type2 DRAW_COLOR_LINE #property indicator_label2 "MA_2" #property indicator_color2 clrBlue, clrSilver #property indicator_style2 STYLE_SOLID #property indicator_width2 1 #property indicator_type3 DRAW_COLOR_LINE #property indicator_label3 "MA_3" #property indicator_color3 clrBlue, clrSilver #property indicator_style3 STYLE_SOLID #property indicator_width3 1 #property indicator_type4 DRAW_COLOR_LINE #property indicator_label4 "MA_4" #property indicator_color4 clrBlue, clrSilver #property indicator_style4 STYLE_SOLID #property indicator_width4 1 #property indicator_type5 DRAW_COLOR_LINE #property indicator_label5 "MA_5" #property indicator_color5 clrBlue, clrSilver #property indicator_style5 STYLE_SOLID #property indicator_width5 1 ... #property indicator_type99 DRAW_COLOR_LINE #property indicator_label99 "MA_99" #property indicator_color99 clrBlue, clrSilver #property indicator_style99 STYLE_SOLID #property indicator_width99 1 #property indicator_type100 DRAW_COLOR_LINE #property indicator_label100 "MA_100" #property indicator_color100 clrBlue, clrSilver #property indicator_style100 STYLE_SOLID #property indicator_width100 1
в OnInit так же циклом задайте, для пятёрки (не понял где Вы пишите):
//--- привязка массива к индикаторному буферу с индексом i SetIndexBuffer(i,MABuffer,INDICATOR_DATA); //--- задать рисование линии PlotIndexSetInteger(i,PLOT_DRAW_TYPE,DRAW_LINE); //--- задание стиля для рисования линии PlotIndexSetInteger(i,PLOT_LINE_STYLE,STYLE_DOT); //--- задание цвета линии PlotIndexSetInteger(i,PLOT_LINE_COLOR,clrRed); //--- задание толщины линии PlotIndexSetInteger(i,PLOT_LINE_WIDTH,1);
для четвёрки: https://docs.mql4.com/ru/customind/setindexstyle
для пятёрки: https://www.mql5.com/ru/docs/constants/indicatorconstants/drawstyles
в OnInit так же циклом задайте, для пятёрки (не понял где Вы пишите):
для четвёрки: https://docs.mql4.com/ru/customind/setindexstyle
для пятёрки: https://www.mql5.com/ru/docs/constants/indicatorconstants/drawstyles
Спасибо большое!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте. Подскажите пожалуйста.
Для наглядности вопроса, предположим, что я хочу создать индикатор где будет 100 разных МА-шек.
Я не понимаю, как массово проводить однотипные действия с динамическими массивами для каждой МА-шки.
Как их массово создавать и затем с помощью цикла перебирать?
То, как я умею делать, я привел в коде ниже. А как это сделать без таких огородов не выходит. Помогите пожалуйста :(
То как я пытался сделать, но mql такого не пропускает:
Благодарю за все ответы!
P.S. Не кидайте в меня помидорами :)
Предполагаю, что решение должно быть тривиальным, а это все мое непонимание теории C++