Советник TwoKio+ABHA

ИванМН

Местный знаток
Может кто-то сможет помочь высчитывать расстояние между каналами по перпендекуляру(независимо от угла наклона)? Буду очень благодарен.
Здесь невозможно однозначно точное (абсолютное) построение. Во-первых, шкала времени дискретна, координаты линий могут быть отстроены строго по барам (вернее, по точкам пересечения баров и линий канала Вашего индикатора), а не "между ними", соответственно, точный прямой угол в 90 градусов может и не получиться. Во-вторых, это построение само по себе относительно, применимо только к определённому масштабу графика. Стоит только масштаб изменить и всё смешается. Если в приоритете неизменность угла, то отстроенный перпендикуляр одним концом "слетит" с бара и будет "указывать" в пустоту. Если в приоритете привязка перпендикуляра к месту пересечения бара и линии канала индикатора, то собьётся угол, и он уже будет сильно отличаться от 90 градусов. Или тогда надо установить некий "истинный" масштаб и все построения всегда по всем парам выполнять именно в нём, но тогда сразу возникнет вопрос: а почему именно такая конфигурация графика объявлена "истинной"?
Поэтому такие построения и измерения очень ненадёжны и их лучше избегать.
Это нетривиальная задача, многажды обсуждавшаяся в том числе на форуме mql5: поищите поисковиком. Может, в процессе обсуждений там где-либо и пришли к какому-то более-менее приемлемому решению этой задачи.
 

tesc

Почетный гражданин
Здесь невозможно однозначно точное (абсолютное) построение. Во-первых, шкала времени дискретна, координаты линий могут быть отстроены строго по барам (вернее, по точкам пересечения баров и линий канала Вашего индикатора), а не "между ними", соответственно, точный прямой угол в 90 градусов может и не получиться. Во-вторых, это построение само по себе относительно, применимо только к определённому масштабу графика. Стоит только масштаб изменить и всё смешается. Если в приоритете неизменность угла, то отстроенный перпендикуляр одним концом "слетит" с бара и будет "указывать" в пустоту. Если в приоритете привязка перпендикуляра к месту пересечения бара и линии канала индикатора, то собьётся угол, и он уже будет сильно отличаться от 90 градусов. Или тогда надо установить некий "истинный" масштаб и все построения всегда по всем парам выполнять именно в нём, но тогда сразу возникнет вопрос: а почему именно такая конфигурация графика объявлена "истинной"?
Поэтому такие построения и измерения очень ненадёжны и их лучше избегать.
Это нетривиальная задача, многажды обсуждавшаяся в том числе на форуме mql5: поищите поисковиком. Может, в процессе обсуждений там где-либо и пришли к какому-то более-менее приемлемому решению этой задачи.
Спасибо большое за такой вдумчивый и развернутый ответ.Думал над этим и у меня есть предложение. (скрин) Строятся 2 прямые по нескольким точкам верхнего и нижнего канала и расстояние измеряется в обе стороны между этими линиями. Так решается проблема с "бесконечностью". На самом деле это вопрос о сужении канала в сильном тренде. Свечей мало, а пунктов проходит много. все каналы начинают "ломаться". Получаются ранние выходы за канал. Если решить этот вопрос, то входы станут точнее.
 

Вложения

  • Screenshot_3102.png
    Screenshot_3102.png
    118,1 КБ · Просмотры: 111

tesc

Почетный гражданин
Господа и дамы, у меня есть предложение переехать в мт5, но опыта в этом почти"ноль". Может кто поможет с этим? Было бы отлично сразу в тестере прогонять все корреляционные пары. Было бы здорово.
 

Psionic999

Активный участник
я ставлю разные пары в настройках но рисует он одинаково
должен по разному ?
 

Genry_05

Отдыхает
Может кто-то сможет помочь высчитывать расстояние между каналами по перпендекуляру(независимо от угла наклона)? Буду очень благодарен.

Господа и дамы, у меня есть предложение переехать в мт5, но опыта в этом почти"ноль". Может кто поможет с этим? Было бы отлично сразу в тестере прогонять все корреляционные пары. Было бы здорово.
С Рождеством!
Решение от Integer
(обсуждение здесь w ww.mql5.com/ru/forum/237198)
Пример на пятом мукле в прицепе ;)

Параметры функции:
  • double LX1 - координата X первой точки линии;
  • double LY1 - координата Y первой точки линии;
  • double LX2 - координата X второй точки линии;
  • double LY2 - координата Y второй точки линии;
  • double DX - координата X точки;
  • double DY - координата Y точки.
1673109338894.png

Принцип расчета​

По координатам двух точек линии получаем формулы линии вида y=a+k*x. Коэффициент k определят величину наклона линии, то есть изменение координаты y на единицу изменения координаты x. Рассчитывается коэффициент k следующим образом:

double K=(LY2-LY1)/(LX2-LX1);
Константа a определяет значение линии при x=0, то есть соответствует уровню, на котором линия пересекает ось y. Зная коэффициент наклона и координату x одной из точек линии, вычисляем а:

double LA=LY1-K*LX1;
Расстояние от точки до лини определяется по перпендикуляру, проведенному к линии. Если повернуть рисунок на 90 градусов против часовой стрелки, линия d будет иметь такой же коэффициент наклона как и основная линия, но с другим знаком. Зная коэффициент наклона и координаты одной точки, можно получить уравнение линии, но в данном случае в форме x=a-ky. Значит константа a:

double DA=DX+K*DY;
Располагая формулами двух линий, найдем точку их пересечения. Для этого выраженный формулой первой линии y подставляем в формулу второй линии, делаем небольшие преобразования и получаем координату x точки пересечения:

double CX=(DA-K*LA)/(1.0+K*K);
Полученный x подставляем в формулу первой линии и получаем координату y точки пересечения линий:

double CY=LA+K*CX;
Зная координаты двух точек, можно вычислить расстояние между ними по осям x и y (величины проекций на оси). Далее, при помощи теоремы Пифагора вычислить расстояние:

MathSqrt(MathPow(DX-CX,2)+MathPow(DY-CY,2))
 

Вложения

  • sDotToLineDist.mq5
    753 байт · Просмотры: 15

tesc

Почетный гражданин
я ставлю разные пары в настройках но рисует он одинаково
должен по разному ?
У вас сигналы берутся с 2х каналов на разных парах. Если первую пару вы видите сразу и канал подрегулировать, то вторую корреляционную вы не видите. Откройте Корреляционную пару , накиньте индикатор TMA+CG mladen alerts mtf nrp_mod1 и посмотрите его оптимальные настойки(количество стрелок). Потом эти настройки повторите в индикаторе TMA+CG mladen alerts mtf nrp_mod_2 пары.
 
Последнее редактирование:

Ranko

Активный участник
Продолжаем улучшать систему. Как бы не было удивительно, но пары сами себя фильтруют. Добавил третью пару для фильтрации. Поделился с коллегой и он 2 дня по ней торговал. Идея с третьей парой его. В общем тестируем;). Историю нужно уменьшать. Индикатор тяжелый пока.
Подскажите пожалуйста , канал рисует?
 

Psionic999

Активный участник
рисует иначе бы это был абсолютный грааль
слить возможно на безоткатном длинном тренде
 

tesc

Почетный гражданин
рисует иначе бы это был абсолютный грааль
слить возможно на безоткатном длинном тренде
Вот то что вы написали, просто забудьте здесь. Проблема тренда очень легко решается на 70%, а остальное это усреднение и стоп. Выше я скидывал индикатор с регулировкой тренда. Сейчас только работа по корреляции. Канал взят вместо индикатора раздвижки. Сути это не меняет. А вот парный трейдинг с его использованием это уже совсем другая история.
 

tesc

Почетный гражданин
Шоу продолжается. За день интересные идеи появились. Вот небольшой результат. В понедельник на реале проверю. Эх, если бы это было в мт5, а так столько трудов....
 

Вложения

  • Screenshot_3104.png
    Screenshot_3104.png
    70,5 КБ · Просмотры: 128

tesc

Почетный гражданин
Нашел индикатор для мт5. Думаю его взять за основу. Если есть лучше-предлагайте.
 

Вложения

  • TMA Band (2).mq5
    3,5 КБ · Просмотры: 19

Billy Kid

Местный житель
Шоу продолжается. За день интересные идеи появились. Вот небольшой результат. В понедельник на реале проверю. Эх, если бы это было в мт5, а так столько трудов....
Почему бы вместо тма не взять lwma?
На текущем баре это одно и то же и никаких перерисовок и сигналов появляющихся где то далеко на истории в текущий момент.
Разница только на истории где она красиво подогнана на тма
 

tesc

Почетный гражданин
Последние индикаторы от Танка вполне нормальные. Ведут себя предсказуемо. Просто мт5 в приоритете.
 

tesc

Почетный гражданин
Почему бы вместо тма не взять lwma?
На текущем баре это одно и то же и никаких перерисовок и сигналов появляющихся где то далеко на истории в текущий момент.
Разница только на истории где она красиво подогнана на тма
скидывайте посмотрим
 

Billy Kid

Местный житель
С келтнером у меня только такая машка.
На скрине они с идентичными настройками.

Дважды сглаженная lwma дает более плавную линию и каналы
 

Вложения

  • averages - mtf - alerts 9.2.ex4
    155,6 КБ · Просмотры: 30
  • Screenshot_549.png
    Screenshot_549.png
    122 КБ · Просмотры: 132
  • Screenshot_550.png
    Screenshot_550.png
    106 КБ · Просмотры: 129
  • Like
Реакции: tesc

Billy Kid

Местный житель
P.S.
может быть на lwma будет на такая красивая история, но зачем нужны сигналы тма, которые появляются на всю глубину истории задним числом?
Как сказал один человек, тма красива только на истории, в текущий момент это очень мутный индикатор, он был совершенно прав
 
Последнее редактирование:

Billy Kid

Местный житель
Вот нашел келтнера с lwma, но нет дважды сглаженного варианта машки
 

Вложения

  • CL-KeltnerChannel.mq4
    2,6 КБ · Просмотры: 25
  • Like
Реакции: tesc
Верх