Originally Posted By: captian
Надо от текщего номера бара отнять ваш заданный через ОЗ и поставить перед полученным значением минус. Тогда будет максимум значения, на заданном через ОЗ баре.
Хорошо, вот формула по вашему совету: Макс1[-(i-ГмахБар)]
Результат:
Скрипт 'test4': Не могу запустить скрипт.
Скрипт 'test4': c:\Users\V\AppData\Local\TSLab\TSLab12\temp\code17.cs(467,38) : error CS1503: Аргумент "1": преобразование типа из "double" в "int" невозможно
Скрипт 'test4': c:\Users\V\AppData\Local\TSLab\TSLab12\temp\code17.cs(467,32) : error CS1502: Наиболее подходящий перегруженный метод для "System.Collections.Generic.IList<double>.this[int]" имеет несколько недопустимых аргументов

Если вспомнить элементарную математику и немного преобразовать формулу до вида Макс1[ГмахБар-i], то опять же получим отрицательный индекс и ошибку "Неизвестный индекс ГмахБар".

Originally Posted By: ViL
не путайте текущий бар и кол-во загруженных баров.
Не знаю, как вам еще объяснить. Мой расчитываемый в ОЗ ГмахБар вывожу на график, и выводимые значения точно соответствуют номерам баров, которые показываются в подсказке при наведении перекрестия на бар (Например Bar number 8770). Соседние вправо бары имеют нумерацию больше, чем 8770.

Originally Posted By: captian
Макс1[ГмахБар]Номер бара положительный? например close[3] это на три бара вперёд в будущее.
три бара назад по истории это close[-3]
Обычно испольльзую формулы типа close[i-n], но close[-n] тоже работает и показывает то же самое. Т.е. ваше close[-3] означает, что берется значение на 3-м баре назад, и то же самое будет на баре [i-3], но самое по себе значение i-3 что из себя представляет? Откуда идет нумерация баров? Если i=1000, то i-3 = 997, берем значение на 997-м баре. В то же время формула close[0] дает ошибку. Так может к любому значению close можно обращаться только отталкиваясь от номера текущего бара (i)? Другими словами на каждом текущем баре надо знать, сколько баров назад был нужный мне бар? Неужели нельзя напрямую использовать номера баров?