Отправлено: 03.03.13 20:22. Заголовок: Разворотные ступени рынка
Часть 1. Разворотные ступени рынка - это изменение направления движения дневной тенденции рынка, строящейся по разворотным уровням (Pivot). В индикаторе FiboPivotAV_Steps уровни Pivot строятся на основании нескольких последних дней, а не на основании одного дня, как это происходит в классической версии расчета Pivot.
Часть 2. Вторая версия индикатора FiboPivotAV_Steps включает исправление ошибок определения разворотных уровней, новый алгоритм поиска уровней поддержки и сопротивления, визуализацию каналов линейной регресии. Статья завершается разработкой простенького эксперта, открывающего ордера при смене дневной тенденции.
Это самый лучший вариант. Но для его реализации придется много думать - перенос кода индикатора в советник не всегда легкое дело.
В данном случае код оказался вполне портабельным. Я взял за основу советник FiboPivotSteps_Expert.mq4 и вставил в него код индикатора, убрал совпадающие функции и процедуру связывания буферов и ... новый симбиоз заработал!!!
Игорь, еще раз скажу дифирамб Вашему стили программирования: модульность просто изумительная. Просто Лего - все стыкуется идеально! Расчет каналов индикатором и советником не везде совпадет, но по крайней мере все заработало сразу!
Отправлено: 11.12.14 15:22. Заголовок: Genry пишет: Вот ко..
Genry пишет:
цитата:
Вот код полученного полуфабриката
Направление мысли верное. А вот реализация непродумана (поставьте в начале этой версии #property strict и гляньте, сколько ошибок). Так, если уж перенесены индикаторные буфера в советник, то нужно позаботиться о том, чтобы поддерживать их. Автоматически такое происходит только в индикаторе. В итоге полученный советник оперирует массивами g_pivot и g_pivotDirChange нулевой длины. Зачем нужны такие массивы? Также в советнике нельзя использовать функцию IndicatorCounted. Поэтому функция расчета нового бара будет отличаться от той, которая использована в индикаторе.
В итоге получим такую версию. Для работы с границами каналов теперь достаточно использовать подсчет цены по уравнению прямой:
цитата:
kKoef * barIndex + bKoef
Коэффициенты К и B для каждой из прямой уже есть. Для текущего бара (индекс 0) вообще ничего считать не нужно, т. к. произведение коэффициента К и индекса бара вырождается в ноль. Значит, цена линии на текущем баре указана в коэффициенте B (bKoefUp, bKoefUpDn, bKoefUpUp, bKoefDn, bKoefDnUp, bKoefDnDn).
Направление мысли верное. А вот реализация непродумана (поставьте в начале этой версии #property strict и гляньте, сколько ошибок).
Мдаа "10 error(s), 11 warning(s) 11 12"
Полезная деректива #property strict - лишает некоторых иллюзий. Спасибо, Игорь, я ей не пользовался, теперь возьму на заметку!
А в остальном - я же только перенес, ошибок вроде нет, что-то уже рисует... "в зобу от радости дыханье сперло!" (Крылов) Вот сразу и поделился результатом Оно и понятно - только слил вместе два больших кода и сразу получил программный проект на 52К работающих сорцов
Scriptong пишет:
цитата:
В итоге получим такую версию. Для работы с границами каналов теперь достаточно использовать подсчет цены по уравнению прямой: цитата:kKoef * barIndex + bKoef Коэффициенты К и B для каждой из прямой уже есть. Для текущего бара (индекс 0) вообще ничего считать не нужно, т. к. произведение коэффициента К и индекса бара вырождается в ноль. Значит, цена линии на текущем баре указана в коэффициенте B (bKoefUp, bKoefUpDn, bKoefUpUp, bKoefDn, bKoefDnUp, bKoefDnDn).
Скачал. Спасибо, Игорь, буду разбираться. Теперь можно понять насколько работают области по границам канала.
Сообщение: 1186
Зарегистрирован: 04.03.13
Откуда: Москва
Репутация:
2
Отправлено: 10.01.15 12:31. Заголовок: Игорь, день добрый! ..
Игорь, день добрый!
Есть предложение еще несколько расширить функционал построения канала: при построении определить угол наклона канала. Полученное значение угла индикатор может вписывать, например в идентификатор линии канала:
________сейчас так: FPAVS_IND_CHAN_UP1409331600
будет, например, так: FPAVS_IND_CHAN_UP_-ххх_1409331600,
или предоставить возможность считывать эти данные другим способом. ---------------------- Что имеется в этом направлении: Linear_Sinus_FT - автор Aleksandr
Вот здесь попрошу подробнее - что за угол? Думаю, Вы в курсе знаменитой проблемы определения углов на свечных графиках (угол изменяется при смене масштаба и, тем более, таймфрейма)?
Вот здесь попрошу подробнее - что за угол? Думаю, Вы в курсе знаменитой проблемы определения углов на свечных графиках (угол изменяется при смене масштаба и, тем более, таймфрейма)?
Да, есть такая проблема и пару раз мы с Вами выходили на ее обсуждение. Я имел ввиду вот этот угол и уровень - 1 и 2 на скрине:
Отправлено: 12.01.15 20:14. Заголовок: Genry пишет: Я имел..
Genry пишет:
цитата:
Я имел ввиду вот этот угол и уровень - 1 и 2 на скрине:
Так это именно то, о чем я и говорю - угол определить однозначно невозможно, он будет разный при разных масштабах. Выходом является принятие некоторого алгоритма установления истинного угла, не зависящего от масштаба. Например, рассчитать этот угол на основании приведения графика к некоторой системе координат (по абсциссе - индексы баров, по ординате - цена). Относительно этой системы координат рассчитать нужный угол. Но это значение очень часто не будет совпадать с видимой величиной угла, хотя и будет коррелировать в пределах одного масштаба.
не зависящего от масштаба. Например, рассчитать этот угол на основании приведения графика к некоторой системе координат (по абсциссе - индексы баров, по ординате - цена).
ООО!
Начинаем доходить, что ну не хотят коровы со свиньями скрещиваться, как не изгаляйся (давайте синтезируем свинокорову). А ты мне рендж, рендж...
P.S. Да, с одной стороны волатильность, а с другой время. Еще не известно, что проще. Вот, кстати, один из ответов.
Все даты в формате GMT
2 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет