Почему нет функций типа _onArray? - страница 2

 
Rich:
Ладно, вилочки нашлись - осадочек (...Мы предоставим бибилиотеку...) остался.
Извините, пока не сделали.
 
Rashid Umarov:
Извините, пока не сделали.

Все еще пока нет? сейчас бы как раз пригодилось ) или может быть есть варианты как наиболее безболезненно для мозга и пальцев сделать это можно сейчас
 

Возможно, будет достаточно использовать OnCalculate() от массива 

Функция OnCalculate() вызывается только в пользовательских индикаторах при необходимости произвести расчет значений индикатора по событию Calculate. Обычно это происходит при поступлении нового тика по символу, для которого рассчитывается индикатор. При этом индикатор не обязательно должен быть прикреплен к какому-нибудь ценовому графику данного символа.

Функция OnCalculate() должна иметь тип возвращаемого значения int. Существует два варианта определения. В пределах одного индикатора нельзя использовать оба варианта функции.

Первая форма вызова предназначена для тех индикаторов, которые могут быть рассчитаны на одном буфере данных. Пример такого индикатора - Custom Moving Average.

int OnCalculate (const int rates_total,      // размер массива price[]
                 const int prev_calculated,  // обработано баров на предыдущем вызове
                 const int begin,            // откуда начинаются значимые данные
                 const double& price[]       // массив для расчета
   );

В качестве массива price[] может быть передана одна из ценовых таймсерий либо рассчитанный буфер какого-либо индикатора. Чтобы определить направление индексации в массиве price[], необходимо вызывать функцию ArrayGetAsSeries(). Чтобы не зависеть от умолчаний, необходимо безусловно вызывать функцию ArraySetAsSeries() для тех массивов, с которыми предполагается работать.

Выбор необходимой таймсерии или индикатора в качестве массива price[] осуществляется пользователем на вкладке "Parameters" при запуске индикатора. Для этого необходимо указать нужный элемент в выпадающем списке поля "Apply to".

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Rashid Umarov:

Возможно, будет достаточно использовать OnCalculate() от массива 


то есть это мне нужно будет написать еще один индикатор и обращаться к нему через икастом что бы получть из него буфер с нужными значениями. А если все расчеты основные в советнике, то мне нужно будет сначала передать массив в кастомный индикатор, а через него уже обратно получить массив в советник и рассчитать другой индикатор по этому массиву? )
 
На данный момент проще самостоятельно реализовать нужный функционал в советнике. В крайнем случае - заказать во Фрилансе
 
Rashid Umarov:
На данный момент проще самостоятельно реализовать нужный функционал в советнике. В крайнем случае - заказать во Фрилансе

Функции-то есть, но работают они не так как в mql4.

Рашид, если не затруднит ответьте на вопросы в этой теме.

Обсуждение статьи "Индикатор от индикатора в MQL5"
Обсуждение статьи "Индикатор от индикатора в MQL5"
  • www.mql5.com
Обсуждение статьи "Индикатор от индикатора в MQL5".
 
Rashid Umarov:
На данный момент проще самостоятельно реализовать нужный функционал в советнике. В крайнем случае - заказать во Фрилансе

Да, я это уже понял ) Подскажите еще плз, где-то читал что все индикаторы выполняются в разных потоках, т.е. если разнести вычисления в индикаторы по этому принципу то можно добиться увеличения производительности? в тестере, как я понимаю, все равно будет один поток работать (без оптимизации)
 
Maxim Dmitrievsky:

Да, я это уже понял ) Подскажите еще плз, где-то читал что все индикаторы выполняются в разных потоках, т.е. если разнести вычисления в индикаторы по этому принципу то можно добиться увеличения производительности? в тестере, как я понимаю, все равно будет один поток работать (без оптимизации)

В разных потоках выполняются советники, а индикаторы все в одном.
 
Alexey Volchanskiy:

В разных потоках выполняются советники, а индикаторы все в одном.

тогда вообще не вижу смысла в таких манипуляциях индикатора от индикатора
 
Alexey Volchanskiy:
В разных потоках выполняются советники, а индикаторы все в одном.
Вообще-то для каждого инструмента свой поток.