Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
вы считаете простую среднюю, а для нее порядок элементво не имеет значения
ЭТО КАК ЭТО????????!!!!!......
вы считаете простую среднюю, а для нее порядок элементво не имеет значения
ЭТО КАК ЭТО????????!!!!!......
(1+2+3)/3=2
(3+2+1)/3=2
А ВОТ ТАК!!!!!!!!!!!
:)
вы считаете простую среднюю, а для нее порядок элементво не имеет значения
ЭТО КАК ЭТО????????!!!!!......
(1+2+3)/3=2
(3+2+1)/3=2
А ВОТ ТАК!!!!!!!!!!!
:)
Для каждого, отдельно взятого элемента согласен, а последовательность элементов ?
стало интересно и проверил скрипт с различными типами средних - все равно значения одинаковы
переиначил скрипт, теперь SMA одинаковы,а EMA - уже нет
//+------------------------------------------------------------------+ //| Checking_iMAOnArray().mq4 | //| Copyright © Zhunko | //| zhunko@mail.ru | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007 Zhunko" #property link "zhunko@mail.ru" //---- #property show_inputs //---- extern int Shift = 5; //---- double Array[21]; double Array2[21]; //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { ArraySetAsSeries (Array2, true); for (int i=0; i!=21; i++) { Array[i]=i; Array2[i]=i; } string str1 = StringConcatenate ("\nArray[21] = {", Array[0], ", ", Array[1], ", ", Array[2], ", ", Array[3], ", ", Array[4], ", ", Array[5], ", ", Array[6], ", ", Array[7], ", ", Array[8], ", ", Array[9], ", ", Array[10], ", ", Array[11], ", ", Array[12], ", ", Array[13], ", ", Array[14], ", ", Array[15], ", ", Array[16], ", ", Array[17], ", ", Array[18], ", ", Array[19], ", ", Array[20], "};"); string str2 = StringConcatenate ("\n", iMAOnArray (Array, 0, 11, 0, MODE_EMA, Shift)); string str3 = StringConcatenate ("\nArray2[21] = {", Array2[0], ", ", Array2[1], ", ", Array2[2], ", ", Array2[3], ", ", Array2[4], ", ", Array2[5], ", ", Array2[6], ", ", Array2[7], ", ", Array2[8], ", ", Array2[9], ", ", Array2[10], ", ", Array2[11], ", ", Array2[12], ", ", Array2[13], ", ", Array2[14], ", ", Array2[15], ", ", Array2[16], ", ", Array2[17], ", ", Array2[18], ", ", Array2[19], ", ", Array2[20], "};"); string str4 = StringConcatenate ("\n", iMAOnArray (Array2, 0, 11, 0, MODE_EMA, Shift)); Comment (str1, str2, str3, str4); return(0); } //+------------------------------------------------------------------+вы считаете простую среднюю, а для нее порядок элементво не имеет значения
ЭТО КАК ЭТО????????!!!!!......
(1+2+3)/3=2
(3+2+1)/3=2
А ВОТ ТАК!!!!!!!!!!!
:)
Т.е.:
(3+4+5)/3=6 ,а не 14;
(13+14+15)/3=14 как и получается.
там stringo товечал что для iMAOnArray важно физическое расположение элементов в памяти, а ArraySetAsSeries его не меняет. отсюда и результат.
А что параметр "Shift" ни чего уже не значит?
Тогда вообще зачем он нужен?
И зачем тогда функция "ArraySetAsSeries()" нужна?
Зачем, если они ни чего не меняют?
Обращение к элементам происходит в памяти.
Но тогда как быть с параметром "Shift"?
Получается, что он тоже обращается прямо в память.
Остаётся последний вопрос. Зачем нужна функция "ArraySetAsSeries()"?
Для красоты поменять направление индексирования?
iMAOnArray не смотрит на ArraySetAsSeries, а shift в ней считается справа-налево, независимо от индекса массива
ArraySetAsSeries видимо ввели в связи с особенностями внутренней реализации массивов серий данных
ArraySetAsSeries просто обеспечивает доступ к элементам массива справа налево через индекс в квадратных скобках, не меняя физического расположения его элементов.
То есть, запись arr[0] обеспечит доступ к последнему элементу массива, а не к первому