Можно сортировать, только собственными силами
int start() { //---- string str[]={"a","c","b"}; ArrayBubbleSortUp_string(str); for(int i=0;i<3;i++)Alert(str[i]); //---- return(0); } //+------------------------------------------------------------------+ void ArrayBubbleSortUp_string(string & aArray[]){ for(int ti=ArraySize(aArray)-1;ti>0;ti--){ for(int tj=0;tj<ti;tj++){ if(aArray[tj]>aArray[tj+1]){ string tmp=aArray[tj]; aArray[tj]=aArray[tj+1]; aArray[tj+1]=tmp; } } } }
Уважаемые программисты!
Подскажите, плиз, новичку, как быть...
У функции iMA есть такие константы: MODE_SMA, _EMA, _SMMA, _LWMA...
А как можно прописать, чтобы значение МА в шорт-нейм было по Previous Indicator's Data в случае, когда МА прикреплен, допустим, к CCI?
Похоже надо как-то к какому-то массиву обращаться, да? Только вот никак не пойму, к какому и вообще, где у МА буферы... :'(
шорт-нейм это просто строковое имя индюкатора
Вам я так понял нужно смотреть текущее значение в Data windows ?
там отображается на сколько я знаю только индикатор который был первым кинут в подокно
MODE_SMA.. это просто метод расчета буфера
а к чужому буферу можно обращаца через икастом
минуточку...
ща рисунками продемонстрирую...
минуточка затянулась, но... продолжаем разговор. во-первых, извиняюсь, был слегка некорректен в предыдущем посте, но это не меняет сути дела.
итак, что же у меня получается? я присоединяю экспоненциальную МА из стандартного набора МТ4 к своему индюку X_CCI и в доп.окне индикаторов вижу значения МА, но они разные для каждой константы MQL4, а именно:
для PRICE_CLOSE:
для PRICE_OPEN:
для PRICE_HIGH:
для PRICE_LOW:
для PRICE_MEDIAN:
для PRICE_TYPICAL:
для PRICE_WEIGHTED:
а мне надо, чтобы значение МА было по Previous Indicator's Data:
вопрос: как этого добиццо в коде?
пытаюсь сделать что-то наподобие
//+------------------------------------------------------------------+ //| параметры индикаторов | //+------------------------------------------------------------------+ double M_A_1; // полное значение MА double X_C_1; // полное значение X_CCI double M_A; // округлённое значение MА до целого double X_C; // округлённое значение X_CCI до целого //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- X_C_1=iCustom(NULL, 0, "X_CCI_start",0,0); double M_A_1[100], CCI[100]; int i,limit=ArraySize(X_C_1); for(i=0; i<limit; i++) { CCI[i]=iCustom(NULL, 0, "X_CCI_start",0,PRICE_CLOSE,i); M_A_1[i]=iMAOnArray(CCI,0,12,0,MODE_SMA,i); } // приведение значений МА и X_CCI к целому числу M_A=NormalizeDouble(M_A_1, 0); X_C=NormalizeDouble(X_C_1, 0); Scalp=(ProfitPlay-10); Comment("M_A_1: ", M_A_1, " M_A: ", M_A, " X_C_1: ", X_C_1, " X_C: ", X_C); //---- return(0); } //+------------------------------------------------------------------+
но я ещё слишком зелёный, чтобы понять все свои ошибки...
может подскажит хто, а?
неа... не получаеццо...
я так понимаю, рано мне ещё в эти игрища ввязываццо...
просто у меня есть 2 варианта этого индюка: start - исходный,
да я тоже начинающий )
в чужом коде глаза разбегаюца..
возникает вопрос нужно ли вам это ваще? CCI т е индекс товарного канала насколько я знаю является высокочастотной составляющей а вы ее хотите отутюжить
и нада еще учитывать что наслоения скользящих средних добавляет запаздывания сигнала
может и не нужно... только я, как истинный ламер, при выборе индикаторов для торговли исхожу не из смысловой нагрузки инструмента, а из фактических картинок, отображаемых в терминале... а картинки по МА и CCI получаются весьма и весьма...
так что буду дальше карпеть на кодом... жалко только, что куда не обращусь - везде отсылают к учебникам или просто не хотят в кодах копаццо...
но есть надежда, что в мире ещё остались добрые и бескорыстные волшебники, к коим в какой-то степени я и себя отношу...
в любом случае, спасибо!!! ;)

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Один из сложнейших для изучения и применения инструментов.
Самое подробное описание что встретил тут:
https://book.mql4.com/ru/variables/arrays
но увы не полное...
*
Например там нет упоминания что строковые массивы не сортируются:
...: ArraySort function does not process string arrays
*
В общем пусть живёт эта тема, со временем дополню чего узнал или освоил... :)))