Текущий бар считается нулевым, предыдущий - первым, пред-предыдущий
- вторым и так далее. Тут имеется ввиду, что нумерация баров берётся
для рассчётов слева направо - то есть, из прошлого к настоящему.
Поясню свой вопрос.
Предложение - расчет производится слева направо - можно трактовать, по моему, двумя способами. И в обоих способах расчет будет производится слева направо.
1.Беру ячейку N, а расчёт к ней производится из ячеек N+1, N+2, N+3, и т.д.
2.Беру ячейку N, а расчёт к ней производится из ячеек N-3, N-2, N-1, и т.д.
Что из этого правильно?
Предложение - расчет производится слева направо - можно трактовать, по моему, двумя способами. И в обоих способах расчет будет производится слева направо.
1.Беру ячейку N, а расчёт к ней производится из ячеек N+1, N+2, N+3, и т.д.
2.Беру ячейку N, а расчёт к ней производится из ячеек N-3, N-2, N-1, и т.д.
Что из этого правильно?
У массива должно быть установлено SetAsSeries true. У индикаторных буферов по умолчанию true. Иначе все будет наоборот
Zhunko:
Поясню свой вопрос.
Предложение - расчет производится слева направо - можно трактовать, по моему, двумя способами. И в обоих способах расчет будет производится слева направо.
1.Беру ячейку N, а расчёт к ней производится из ячеек N+1, N+2, N+3, и т.д.
2.Беру ячейку N, а расчёт к ней производится из ячеек N-3, N-2, N-1, и т.д.
Что из этого правильно?
Поясню свой вопрос.
Предложение - расчет производится слева направо - можно трактовать, по моему, двумя способами. И в обоих способах расчет будет производится слева направо.
1.Беру ячейку N, а расчёт к ней производится из ячеек N+1, N+2, N+3, и т.д.
2.Беру ячейку N, а расчёт к ней производится из ячеек N-3, N-2, N-1, и т.д.
Что из этого правильно?
Ни то, ни другое не правильно.
3. ... N+3, N+2, N+1, N
stringo:
Спасибо. Только хотел ответить на свой вопрос. Вот уже ответили.
Второй вариант был ближе. Он и был правильным.Zhunko:
Поясню свой вопрос.
Предложение - расчет производится слева направо - можно трактовать, по моему, двумя способами. И в обоих способах расчет будет производится слева направо.
1.Беру ячейку N, а расчёт к ней производится из ячеек N+1, N+2, N+3, и т.д.
2.Беру ячейку N, а расчёт к ней производится из ячеек N-3, N-2, N-1, и т.д.
Что из этого правильно?
Поясню свой вопрос.
Предложение - расчет производится слева направо - можно трактовать, по моему, двумя способами. И в обоих способах расчет будет производится слева направо.
1.Беру ячейку N, а расчёт к ней производится из ячеек N+1, N+2, N+3, и т.д.
2.Беру ячейку N, а расчёт к ней производится из ячеек N-3, N-2, N-1, и т.д.
Что из этого правильно?
Ни то, ни другое не правильно.
3. ... N+3, N+2, N+1, N
В вопрос не включалась тема индексирования в массиве. Индексирование было относительным.
Объясните сей феномен, если сможете.
Результат расчёта функции "iMAOnArray()" одного и того же массива с инверсным индексированием и прямым почему-то не отличается. Это скрипт.
Результат расчёта функции "iMAOnArray()" одного и того же массива с инверсным индексированием и прямым почему-то не отличается. Это скрипт.
//+------------------------------------------------------------------+ //| 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] = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0}; //+------------------------------------------------------------------+ //| script program start function | //+------------------------------------------------------------------+ int start() { 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, 3, 0, 0, Shift)); ArraySetAsSeries (Array, true); string str3 = 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 str4 = StringConcatenate ("\n", iMAOnArray (Array, 0, 3, 0, 0, Shift)); Comment (str1, str2, str3, str4); return(0); } //+------------------------------------------------------------------+
Файлы:
1. Инверсное индексирование не влияет на физическое расположение элементов.
2. Расчёт всегда производится слева направо
stringo:
1. Инверсное индексирование не влияет на физическое расположение элементов.
2. Расчёт всегда производится слева направо
Да, но влияет на номер ячейки для которой производится вычисления.
Для параметра "Shift" в одном случае соответствует значение "5" в другом "15".
Почему для разных ячеек получаются одинаковые значения?
Может быть в iMAOnArray() встроено автоматическое инвертирование индексов?
Иначе не объяснишь это. Только как она узнаёт куда мне считать надо?
Иначе не объяснишь это. Только как она узнаёт куда мне считать надо?
вы считаете простую среднюю, а для нее порядок элементво не имеет значения
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
"Расчет скользящего среднего на данных, хранящихся в массиве. В отличие от iMA(...) функция iMAOnArray не выбирает данные на основе названия инструмента, таймфрейма и используемой цены - ценовые данные должны быть подготовлены заранее. Расчет производится слева направо. Для организации доступа к элементам массива, как к таймсерии (то есть справа налево), необходимо использовать функцию ArraySetAsSeries. "
Нет времени на эксперементы. Поясните пожалуйста, если кто знает, это предложение : "Расчет производится слева направо."
Я понял так. Беру ячейку N, а расчёт к ней производится из ячеек N+1, N+2, N+3, и т.д. Правильно понимаю?