Скачать MetaTrader 5

Расчёт PPZ - помогите доработать

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Пиши программы на заказ. Зарабатывай с помощью сервиса Фриланс!
Сергей
826
Сергей 2010.02.22 13:17 

Всем привет. 

Написал индикатор для автоматического расчёта PPZ по трём фракталам.  Основная идея: берём окно в N баров и определяем уровни, на которых 3 фрактала расположены на наименьшем расстоянии. Индикатор строит сразу 4 таких уровня. Проблема в быстродействии. В индикаторе используется тупой перебор, просто ничего не приходит в голову. Сейчас, когда окно баров 100-300, это в принципе не проблема. Но вот я задумал добавить 4-й фрактал и понял, что надо менять алгоритм расчёта.  У кого какие мысли? Имхо, инструмент уже сейчас строит интересные уровни. Прилагаю код, и картинку с пояснениями.


Файлы:
Сергей
826
Сергей 2010.02.22 14:19  

Доработал индикатор, теперь уровни ищутся по 4-м фракталам.

На 150 барах расчёт идёт до 30 секунд, не пугайтесь. Категорически не рекомендуется ставить больше 200 баров.

При этом уровни получаются намного более сильными и правильными. Похоже, эта штука реально работает!.


Файлы:
Сергей
826
Сергей 2010.02.22 14:41  

Евробакс на днях:


Boris
503
Boris 2010.02.22 14:49  

Отличный индикатор.

Только у меня ошибка вылезает :

2010.02.22 15:46:17 Dsergf-wPA_v2.0 EURUSD,M15: invalid integer number as parameter 1 for SetIndexEmptyValue function


PS

Было бы очень хорошо задавать таймфрейм, с которого строить уровни.

Сергей
826
Сергей 2010.02.22 14:58  

Перезалил индикаторы.

Странно, что у меня работал, ошибка конечно была

Сергей
826
Сергей 2010.02.22 15:00  

Евробакс М15

No comments.


Boris
503
Boris 2010.02.22 15:00  

Нет вроде работает, просто сообщение об ошибке немного смущает.

Сергей
826
Сергей 2010.02.22 15:05  

Ошибку я исправил.

Таймфрейм задать не проблема - завтра сделаю, сейчас времени нет.

Плохо то, что так медленно, хочется окно задать пошире, но тут надо алгоритм серьёзно оптимизировать, а я пока не придумал, как. :-(

Сергей
826
Сергей 2010.02.22 19:15  
Оптимизировал алгоритм, смело можно ставить баров 300
Файлы:
Boris
503
Boris 2010.02.22 20:01  

По моему в коде маленькая ошибка :



if (k!=j && k!=j && MathAbs(Ind0[i]-Ind0[k])>minBars && MathAbs(Ind0[k]-Ind0[j])>minBars) {


надо одну j исправить на i


Сергей
826
Сергей 2010.02.22 20:42  

Ага, ошибка. На результат не влияет, но исправить надо.

Перезалил индикатор версии 2.3

12345678...14
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий