Форум » Статьи MQLabs » Разворотные ступени рынка » Ответить

Разворотные ступени рынка

Scriptong: Часть 1. Разворотные ступени рынка - это изменение направления движения дневной тенденции рынка, строящейся по разворотным уровням (Pivot). В индикаторе FiboPivotAV_Steps уровни Pivot строятся на основании нескольких последних дней, а не на основании одного дня, как это происходит в классической версии расчета Pivot. Часть 2. Вторая версия индикатора FiboPivotAV_Steps включает исправление ошибок определения разворотных уровней, новый алгоритм поиска уровней поддержки и сопротивления, визуализацию каналов линейной регресии. Статья завершается разработкой простенького эксперта, открывающего ордера при смене дневной тенденции.

Ответов - 26, стр: 1 2 All

Scriptong: Genry пишет: O! Это хороший вариант. Главное что все данные будут доступны в советнике Это самый лучший вариант. Но для его реализации придется много думать - перенос кода индикатора в советник не всегда легкое дело.

Genry: Scriptong пишет: Это самый лучший вариант. Но для его реализации придется много думать - перенос кода индикатора в советник не всегда легкое дело. В данном случае код оказался вполне портабельным. Я взял за основу советник FiboPivotSteps_Expert.mq4 и вставил в него код индикатора, убрал совпадающие функции и процедуру связывания буферов и ... новый симбиоз заработал!!! Игорь, еще раз скажу дифирамб Вашему стили программирования: модульность просто изумительная. Просто Лего - все стыкуется идеально! Расчет каналов индикатором и советником не везде совпадет, но по крайней мере все заработало сразу! Вот код полученного полуфабриката : FiboPivotStepsChannelV3_EA_v0.mq4 Функцию Signal не изменял.

Scriptong: Genry пишет: Вот код полученного полуфабриката Направление мысли верное. А вот реализация непродумана (поставьте в начале этой версии #property strict и гляньте, сколько ошибок). Так, если уж перенесены индикаторные буфера в советник, то нужно позаботиться о том, чтобы поддерживать их. Автоматически такое происходит только в индикаторе. В итоге полученный советник оперирует массивами g_pivot и g_pivotDirChange нулевой длины. Зачем нужны такие массивы? Также в советнике нельзя использовать функцию IndicatorCounted. Поэтому функция расчета нового бара будет отличаться от той, которая использована в индикаторе. В итоге получим такую версию. Для работы с границами каналов теперь достаточно использовать подсчет цены по уравнению прямой: kKoef * barIndex + bKoef Коэффициенты К и B для каждой из прямой уже есть. Для текущего бара (индекс 0) вообще ничего считать не нужно, т. к. произведение коэффициента К и индекса бара вырождается в ноль. Значит, цена линии на текущем баре указана в коэффициенте B (bKoefUp, bKoefUpDn, bKoefUpUp, bKoefDn, bKoefDnUp, bKoefDnDn).


Genry: Scriptong пишет: Направление мысли верное. А вот реализация непродумана (поставьте в начале этой версии #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). Скачал. Спасибо, Игорь, буду разбираться. Теперь можно понять насколько работают области по границам канала.

basy: здравствуйте Genry как скачать индикатор FiboPivotStepsChannelV3_EA_v0.mq4

Scriptong: basy пишет: здравствуйте Genry как скачать индикатор FiboPivotStepsChannelV3_EA_v0.mq4 С файлообменника он уже давно удален, там ограничение на хранение 7 (14) дней. У меня же на компьютере остался: Версия Genry - здесь. Моя правка эксперта - здесь.

Genry: Игорь, день добрый! Есть предложение еще несколько расширить функционал построения канала: при построении определить угол наклона канала. Полученное значение угла индикатор может вписывать, например в идентификатор линии канала: ________сейчас так: FPAVS_IND_CHAN_UP1409331600 будет, например, так: FPAVS_IND_CHAN_UP_-ххх_1409331600, или предоставить возможность считывать эти данные другим способом. ---------------------- Что имеется в этом направлении: Linear_Sinus_FT - автор Aleksandr MA Angle МА_Color - автор Ale002 (там-же Envelopes.TL_m.mq4 )

Scriptong: Genry пишет: определить угол наклона канала Вот здесь попрошу подробнее - что за угол? Думаю, Вы в курсе знаменитой проблемы определения углов на свечных графиках (угол изменяется при смене масштаба и, тем более, таймфрейма)?

Genry: Scriptong пишет: Вот здесь попрошу подробнее - что за угол? Думаю, Вы в курсе знаменитой проблемы определения углов на свечных графиках (угол изменяется при смене масштаба и, тем более, таймфрейма)? Да, есть такая проблема и пару раз мы с Вами выходили на ее обсуждение. Я имел ввиду вот этот угол и уровень - 1 и 2 на скрине:

Scriptong: Genry пишет: Я имел ввиду вот этот угол и уровень - 1 и 2 на скрине: Так это именно то, о чем я и говорю - угол определить однозначно невозможно, он будет разный при разных масштабах. Выходом является принятие некоторого алгоритма установления истинного угла, не зависящего от масштаба. Например, рассчитать этот угол на основании приведения графика к некоторой системе координат (по абсциссе - индексы баров, по ординате - цена). Относительно этой системы координат рассчитать нужный угол. Но это значение очень часто не будет совпадать с видимой величиной угла, хотя и будет коррелировать в пределах одного масштаба.

Balbesik: Scriptong пишет: не зависящего от масштаба. Например, рассчитать этот угол на основании приведения графика к некоторой системе координат (по абсциссе - индексы баров, по ординате - цена). ООО! Начинаем доходить, что ну не хотят коровы со свиньями скрещиваться, как не изгаляйся (давайте синтезируем свинокорову). А ты мне рендж, рендж... P.S. Да, с одной стороны волатильность, а с другой время. Еще не известно, что проще. Вот, кстати, один из ответов.



полная версия страницы