Индикаторы: Dynamic RSI - страница 5

 
ROMAN KIVERIN #:

Если честно то не известно насколько быстро выполняется штатный

Когда писал код, думал написать свой, более быстрый алгоритм поиска min/max значений и оптимизировать его по скорости. Но потом решил оставить как есть.

На каждом тике будет искаться минимальное и максимальное значение, что будет значительно снижать скорость. Для оптимизации по скорости лучше было бы сделать как-нибудь по другому алгоритм поиска.

Было дело, кто-то выкладывал здесь ускоренный алгоритм поиска минимума/максимума, но это лишнее, для него еще один буфер нужен. Не стоит такой выигрыш скорости одного буфера.

Встроенная функция должна быть быстрее, чем собственный аналог. 
 
Dmitry Fedoseev #:

Встроенная функция должна быть быстрее, чем собственный аналог. 

У нас здесь есть одна маленькая хитрость. Элементы используются одни и те же. Значит мы можем последовательно их запихивать в кольцевой буфер, не перебирать все, а просто выбирать индексы, то получается в разы быстрее. Как-то я этой мутью занимался когда нужно было считать скользяшки и выполнять сортировки.

В коде есть строчка

    LineBuffer[i]=(4 * RSIValueBuffer[i] + 3 * RSIValueBuffer[i+1] + 2 * RSIValueBuffer[i+2] + RSIValueBuffer[i+3]) / 10;

где если сделать кольцевой буфер и выполнять потоково явно было бы быстрей.

Но ладно, в этом коде оно этого не стоит.

Dmitry Fedoseev #:

Не стоит такой выигрыш скорости одного буфера.

Согласен если это в режиме реальной работы на слабом компе и несколько советников запущено. Тогда самое оно память экономить.

 
Aleksandr Slavskii #:

Теперь, есть возможность скопипастить идею для MT5 :)

Сделал :)

Dynamic RSI
Dynamic RSI
  • www.mql5.com
Dynamic RSI индикатор.
 
Действительно тормозной индикатор. Тех-же результатов можно добиться более простыми способами. К примеру можно взять RSI или (как я) True Strength Index и навесить на него полосы Боллинжера. (см.рис.) https://charts.mql5.com/37/310/audusd-m30-raw-trading-ltd.png
 
kimo161 #:
Действительно тормозной индикатор. Тех-же результатов можно добиться более простыми способами. К примеру можно взять RSI или (как я) True Strength Index и навесить на него полосы Боллинжера. (см.рис.) https://charts.mql5.com/37/310/audusd-m30-raw-trading-ltd.png

Конечно можно. Только получится совсем другой индикатор.

 
Aleksandr Slavskii #:

Сделал :)

Молодец! Не поленюсь тебе пятёрку поставить!

 
ROMAN KIVERIN #:

Конечно можно. Только получится совсем другой индикатор.

Сигналы выдает аналогичные, при этом не тупит пару секунд при загрузке или смене таймфрейма.
Тут старая философская дилемма "шашечки или ехать".
 
kimo161 #:
Сигналы выдает аналогичные, при этом не тупит пару секунд при загрузке или смене таймфрейма.
Тут старая философская дилемма "шашечки или ехать".

Пускай будет так, если Вам так удобней! :)

Хотя по мне так само слово философия в трейдинге не применимо. Слышал что здесь больше имеет смысл не философия, а математика. И ходят слухи что каким-то образом ещё программирование затесалось. Хотя наверно насчёт последнего пустые сплетни. :)

Но вероятно в этом разрезе данный нюанс совсем не важен. :)

 
kimo161 #:
Действительно тормозной индикатор. Тех-же результатов можно добиться более простыми способами. К примеру можно взять RSI или (как я) True Strength Index и навесить на него полосы Боллинжера. (см.рис.) https://charts.mql5.com/37/310/audusd-m30-raw-trading-ltd.png

Если в обсуждении кодобазы говорим А, то тогда нужно говорить и Б.

Выкладывайте индикатор в открыты доступ, а не это вот всё.

 

Конечно, не стоит сравнивать быстродействие самодельных индикаторов со встроенными.

Но все же проблема легко решается уменьшением количества баров в окне.