Не получается передать индикаторный массив в статическую функцию класса - страница 2

 
Dmitry Fedoseev:

Структура описана в файле complex.mqh.

Объявлять так:

complex f[];


Спасибо буду читать, чтобы понять.

 

Скомпилировалось без ошибок. Только, когда добавляю строку с принтом ошибка выходит: объекты передаются по ссылке

ar.FFTR1D(ExtMapBuffer1,N,F);

Print("F[0]=",F[0]);

Пробовал присобачить точку complex и потом ar. Так ar.F[0] и так complex.F[0], не помогает.

Массив F на глобальном уровне.

 

Это массив структур, у него несколько полей. После F[0] установите курсор и нажмите точку, откроется список

 
Dmitry Fedoseev:

Это массив структур, у него несколько полей. После F[0] установите курсор и нажмите точку, откроется список


Там из выпадающего меню только "im" и "re" скомпилировались. Нулевой буфер по нулям, а на первом индексе принтуются значения.

На 3000 баров поставил, внизу что от верхнего оригинала отрисовалось.


 
forexman77:

Там из выпадающего меню только "im" и "re" скомпилировались. Нулевой буфер по нулям, а на первом индексе принтуются значения.

На 3000 баров поставил, внизу что от верхнего оригинала отрисовалось.



А im и re мало? Что вообще пытаетесь получить? Что-то такое впечатление, что вы не знаете что это вообще такое, а просто пытаетесь посмотреть -  "а что получится ?"

 
Dmitry Fedoseev:

А im и re мало? Что вообще пытаетесь получить? Что-то такое впечатление, что вы не знаете что это вообще такое, а просто пытаетесь посмотреть -  "а что получится ?"


Да я пока разбираюсь, пытаюсь понять, как устроено преобразование  Фурье. А вообще хочу преобразовать данные осциллятора с помощью Фурье и прогнать советника.

Вообщем спасибо, сам бы несколько дней или недель возился.

Включаемые классы по Вашей статье пробовал делать, получилось. В самом советнике кол-во строк на половину из-за этого сократил.

Мне кажется по ООП необходима, статья продолжение.

 
forexman77:

Да я пока разбираюсь, пытаюсь понять, как устроено преобразование  Фурье. А вообще хочу преобразовать данные осциллятора с помощью Фурье и прогнать советника.

надо считать ряд Фурье с разным шагом и брать тот, где первые коэффициенты выше