| / | Форум |
|
Dserg
22.02.2010 14:17
Всем привет. Написал индикатор для автоматического расчёта PPZ по трём фракталам. Основная идея: берём окно в N баров и определяем уровни, на которых 3 фрактала расположены на наименьшем расстоянии. Индикатор строит сразу 4 таких уровня. Проблема в быстродействии. В индикаторе используется тупой перебор, просто ничего не приходит в голову. Сейчас, когда окно баров 100-300, это в принципе не проблема. Но вот я задумал добавить 4-й фрактал и понял, что надо менять алгоритм расчёта. У кого какие мысли? Имхо, инструмент уже сейчас строит интересные уровни. Прилагаю код, и картинку с пояснениями. |
|
Организуйте багтрекинг и техсаппорт для своей компании В TeamWox имеются все для того чтобы организовать багтрекинг. Интегрировав модуль Сервисдеск с веб-сайтом, Вы сможете получать заявки своих клиентов напрямую в TeamWox. Более того, вся переписка с клиентами автоматически распознается и попадает в архив, где ее без труда можно найти в будущем. |
|
Dserg
22.02.2010 15:19
Доработал индикатор, теперь уровни ищутся по 4-м фракталам. На 150 барах расчёт идёт до 30 секунд, не пугайтесь. Категорически не рекомендуется ставить больше 200 баров. При этом уровни получаются намного более сильными и правильными. Похоже, эта штука реально работает!. |
|
Dserg
22.02.2010 15:41
|
|
BoraBo
22.02.2010 15:49
Отличный индикатор. Только у меня ошибка вылезает : 2010.02.22 15:46:17 Dsergf-wPA_v2.0 EURUSD,M15: invalid integer number as parameter 1 for SetIndexEmptyValue function PS Было бы очень хорошо задавать таймфрейм, с которого строить уровни. |
|
Dserg
22.02.2010 15:58
Перезалил индикаторы. Странно, что у меня работал, ошибка конечно была |
|
Dserg
22.02.2010 16:00
|
|
BoraBo
22.02.2010 16:00
Нет вроде работает, просто сообщение об ошибке немного смущает. |
|
Dserg
22.02.2010 16:05
Ошибку я исправил. Таймфрейм задать не проблема - завтра сделаю, сейчас времени нет. Плохо то, что так медленно, хочется окно задать пошире, но тут надо алгоритм серьёзно оптимизировать, а я пока не придумал, как. :-( |
|
Dserg
22.02.2010 20:15
Оптимизировал алгоритм, смело можно ставить баров 300
|
|
BoraBo
22.02.2010 21:01
По моему в коде маленькая ошибка : if (k!=j && k!=j && MathAbs(Ind0[i]-Ind0[k])>minBars && MathAbs(Ind0[k]-Ind0[j])>minBars) {
надо одну j исправить на i
|
|
Dserg
22.02.2010 21:42
Ага, ошибка. На результат не влияет, но исправить надо. Перезалил индикатор версии 2.3 |