Возможно ли программно найти ВСЕ горизонтальные каналы/флеты в определенный интервал времени или хотя бы правильно сформулировать ТЗ? - страница 6

 
sever29:


1. Но ведь "бар" "растянут" во времени? Действительно его цена "ориентировочна", а надо конкретную, четырехзначную... :)

2. ну не нужен ТФ и "временной шаг", тем более 15мин....

3. да, согласен, но только не нравится- "а потом", думаю не "а потом", а сразу, одновременно.


Хотя Вам нужен код а не "сюсюканья", тем не менее.

1. Для того, чтобы быстро пробежаться по истории и не отвлекаться на неинтересные интервалы, достаточно сравнить High[iHighest] - Low[iLowest] c интересующей Вас шириной канала с учетом "толщины стенок канала" (Если произошел выброс цены за пределы границ канала на расстояние равное его ширине)

2. В связи с тем, что Вас интересует количество разворотов (разворачивается в нем два раз), то в выбранных интервалах таки придется идти по барам, причем по минуткам, и вычислять количество попаданий внутрь стенок. Если конечно Вы не согласитесь упростить задачу в количестве и "качестве" попаданий и требовании к "чередованию" попаданий внутрь той или иной стенки..

3. Более того, выбрав по простейшему алгоритму (из первого пункта) интересующий канал, количество касаний-колен будет разное в зависимости от выбора середины канала.

Вариантов будет очень много:

- (High[iHighest] - Low[iLowest]) / 2

- Точка (Close[i]) относительно которой выбирался канал (в будущем или прошлом)

- Касание одним из экстремумов внешней стенки канала (мало ли какая у Вас фантазия).

И все это Вы должны определить, в первую очередь, для себя

Ну и пожалуй главное

Упомянув в своем первом посте "...существования флетов...", Вы обрекли ветку на флуд.

 
SEVER11:
Севера должны помогать друг другу. Держи индикатор реал канал ( от 1мин до недели, месяц думаю сам добавишь). Когда то заказывал, но так и не доработал эту тему. Может пригодиться

спасибо конечно:)
 
SergNF:


Если честно, я мало чего понял...

Какой флуд?:) оснований нет, так как все четко формализуемо... наверное

Хотя общую мысль поста из картинок понял... ну так ни чего страшного, а главное существенного не произойдет с учетом того, что выборка будет производится на длительных (в разумных пределах) временных интервалах и большое, а мне кажется огромное кол-во флетов с достаточной достоверностью может показать "характер" поведения цены во флете, к примеру в 50пп и с учетом его "соседей"- флет в 49-51 пп.

Ну недошла цена один пипс для очереджного разворота во флете в 50пп, ну так она значит все равно "где-то, в каком- то флете развернлась" например во флете в 49пп.

 

Может есть смысл зайти с другой стороны? Не по двум отбоям искать канал, а по известной ширине канала искать отбои.

Например, имеем каналы шириной 20 пунктов, 21 пункт, 22, 23, ... 49, 50 пунктов. Затем проверять наличие этих каналов на участке нужного временного интервала.

К слову сказать. В моём понимании у канала есть две границы, верхняя и нижняя. Два отбоя дадут одну границу. Вторую искать также по двум отбоям? Или, по одному отбою + ширина?

 
peshihod:

Может есть смысл зайти с другой стороны? Не по двум отбоям искать канал, а по известной ширине канала искать отбои.

Например, имеем каналы шириной 20 пунктов, 21 пункт, 22, 23, ... 49, 50 пунктов. Затем проверять наличие этих каналов на участке нужного временного интервала.

К слову сказать. В моём понимании у канала есть две границы, верхняя и нижняя. Два отбоя дадут одну границу. Вторую искать также по двум отбоям? Или, по одному отбою + ширина?


канал мы не ищем, мы его создаем сами, а ищем флет.

границы уже две, а потому два переворота в канале= начало флета

 
sever29:


канал мы не ищем, мы его создаем сами, а ищем флет.

границы уже две, а потому два переворота в канале= начало флета


На вопрос темы, возможно ли программно найти ВСЕ горизонтальные каналы - ответ ДА.

Только у Вас какая-то путаница в постановке задачи. колличество переворотов в канале будете считать потом, а сначала нужно выделить флэтовые участки. параметров у флэта только два: величина колебаний цены, и время. стало быть в программе нужно задать условие: если за N баров цена находится в перделах заданного диапазона, - то это флэт, он же горизонтальный канал...

На картинке программа дает графическое изображение таких каналов...

 
sever29:


канал мы не ищем, мы его создаем сами, а ищем флет.

границы уже две, а потому два переворота в канале= начало флета

я вот с другой стороны зашел, попробовал определить все каналы заданной длины (от m до n), вроде получилось. Ну а найдя флет, измерить его размах уже, думаю проще.

Вот рисуночек. Параметры - каналы от 8 до 16 баров.

Появление желтого пунктирчика означает что

а) цена в течение заданного периода болталась в определенном диапазоне, причем небольшие случайные выбросы не влияют на показания (это, кстати, было основной задачей, которую я пытался решить) и

б) цена болталась не просто так, а в значительной степени вдоль прямой линии.


принцип действия довольно сложный (и простой одновременно:).

Сравнивается отношение ошибки регрессионной прямой к ошибке кубического полинома, это и есть показатель "прямолинейности" движения. Потом корректирующий множитель, обратно пропорциональный наклону, т.к. на первом шаге выявлены все, (а не только горизонтальные) каналы.

 
Я вообще полагаю, что определять канал по ширине не имеет смысла в реальных условиях - те самые гадкие случайные выбросы доставляют наибольшее количество неприятностей. С ними и надо бороться, проверяя в режиме онлайн их "значимость" по отношению к вопросу существования канала.
 
alsu:

1. я вот с другой стороны зашел, попробовал определить все каналы заданной длины (от m до n), вроде получилось. Ну а найдя флет, измерить его размах уже, думаю проще.

2. Вот рисуночек. Параметры - каналы от 8 до 16 баров.

Появление желтого пунктирчика означает что

а) цена в течение заданного периода болталась в определенном диапазоне, причем небольшие случайные выбросы не влияют на показания (это, кстати, было основной задачей, которую я пытался решить) и

б) цена болталась не просто так, а в значительной степени вдоль прямой линии.


принцип действия довольно сложный (и простой одновременно:).

Сравнивается отношение ошибки регрессионной прямой к ошибке кубического полинома, это и есть показатель "прямолинейности" движения. Потом корректирующий множитель, обратно пропорциональный наклону, т.к. на первом шаге выявлены все, (а не только горизонтальные) каналы.


1. Да, верю, что "заходы с других сторон" могут иметь успех.

2. Интересный индикатор и желтый пуктирчик в ососбенности...

 

Вот такой скрипт, уж не помню где и когда отыскал.

Может кому пригодится!?

Файлы:
x111.mq4  4 kb