Автоматизируем VChannel

Тема в разделе "Индикаторы, скрипты и эксперты для МТ4", создана пользователем Loknar, 11 май 2009.

  1. Loknar

    Loknar Активный пользователь

    Выкладываю разработку автоматического построителя каналов по системам Vadimcha.
    Что это такое ?
    Это советник/скрипт. При первом запуске он ищет реперные точки, по которым будут строиться каналы, затем сохраняет их в файл, чтобы использовать при следующей переинициализации. Файл имеет три опции, по которым он сохраняется :
    1. Инструмент, т.е. для каждого инструмента будут свои точки
    2. Таймфрейм, каждый фрейм будет также иметь свои точки
    3. Максимальное количество баров, которое используется для поиска реперных точек
    Итого имеем 3 параметра для файла, название которого имеет такой например вид : EURUSD_15_200000_points.dat , для пары EURUSD, 15 ТФ, 200к баров для поиска реперных точек.

    Файл этот записывается один раз и затем используется постоянно, для быстрой перестройки каналов исходя из текущей ситуации.

    Как его использовать :

    1. Можно запустить как советник, он запишет точки и будет потом их обновлять.
    2. Можно разово запускать как скрипт, тогда обновления не будет, удобно для одноразового поиска точек или просмотра новой комбинации каналов.
    3. Как индикатор - имеет смысл только после того как уже есть файл точек, но использовать в таком качестве крайне не рекомендуется, потому что терминал будет подвешиваться при обновлении этих самых точек.

    По настройкам :

    AutoDraw - рисовать-не рисовать вообще ВСЕ
    Show_Comments - показывать параметры канала(-ов) в комментариях к инструменту
    MaxBars - количество баров для поиска реперных точек - можно не менять, тогда будет засекать автоматически
    First_Channel_bars - минимальное кол-во баров для формирования нового канала, т.е. от бара 0 до X
    Min_Channel_size - минимальный размер канала, в барах, каналы меньшего размера не просчитываются и не показываются
    Draw_and_comment_closed - Рисовать каналы, которые уже отработали свое время, если этот параметр включе, то фильтр отработанных каналов не отсеивает их
    Draw_and_comment_NOT_Confirmed - Фильтр незавершенных каналов (цена которых не коснулась ЛТ), если включен - формирующиеся каналы отображаются
    Draw_ALL_Targets - Фильтр целевых уровней, если включен, то для отображаемых каналов будут отображаться все уровни
    Draw_CLOSE_Targets - Рисовать только ближайшие к цене цели (имеет смысл включать если предыдущий выключен)
    Draw_2_scales_targets_only - Рисовать цели только двух последних масштабов, т.е. 2х каналов в связке
    Draw_f_p_lines - Рисовать flines и plines
    Draw_in_visible_window - Рисовать только те каналы, которые помещаются в отображаемом окне инструмента
    Draw_one_window_channel - Рисовать только один самый большой канал, помещающийся в текущем окне, при этой опции можно менять настройки цветов, стилей и ширины для кадого параметра канала (целей, границ, фильтров)
    Draw_Time_Lines - Рисовать временные линии (affect, break_out, break_out_x2)
    Draw_Linked_only - Рисовать только каналы, связанные между собой в цепочку масштабов

    И куча технических настроек (цвета, стили и т.п.)

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

    Пока информации хватит.

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

    ===
    версия 0.04

    - пофиксен Zero Divide при обновлении реперов, отключал советник
    - изменен алгоритм сохранения точек при переключении таймов, из-за чего некорректно отрисовывались некоторые данные
    - добавлен технический параметр Clear_after_shutdown, который можно использовать в режиме скрипта, чтобы оставлять на графике всю отображенную информацию
    ===
    версия 0.05

    - пофиксен баг с копированием временных зон из буфера, теперь при обновлении баров зоны отображаются корректно
    - добавлена возможность изменить отрисовку временных линий на временные прямоугольные зоны
    - fline и plines теперь можно включать/выключать отдельно
    - добавлен параметр Settings_SET для комбинаций параметров (чтоб не заморачиваться совсем), его значения :
    0 - использовать параметры, установленные пользователем
    1 - показывать масштабные каналы в цепочке, с ближайшими целями
    2 - показывать 1 канал в видимом окне, со всеми целями

    И если вы использовали предыдущие версии, сотрите файлы *_channels.dat из Experts/Files <b>перед запуском</b>, иначе каналы будут отображаться некорректно.
    ===
     

    Вложения:

  2. Loknar

    Loknar Активный пользователь

    Еще картинки, с разными настройками
    auto_vc2.gif

    auto_vc4.gif

    auto_vc3.gif
     
  3. DonPic

    DonPic Активный пользователь

    Привет.

    Вот поставил ЕА, а он вот такую картинку нарисовал.

    ____________________1.png

    Вот настройки которые я поменял.

    extern bool Draw_2_scales_targets_only=true; // Рисовать цели только двух последних масштабов
    extern bool Draw_f_p_lines=true; // Рисовать flines и plines
    extern bool Draw_in_visible_window=true; // Рисовать только те каналы, которые помещаются в видимом окне
    extern bool Draw_one_window_channel=true; // Рисовать только один самый большой канал, помещающийся
    в текущем окне
    extern bool Draw_Time_Lines=true; // Рисовать временные линии (affect, break_out, break_out_x2)
     
  4. Loknar

    Loknar Активный пользователь


    угу, учту, если еще будет - подобное, можно просто пару и фрейм
     
  5. DonPic

    DonPic Активный пользователь

    Ставил на GBPJPY на D1
     
  6. DonPic

    DonPic Активный пользователь

    Еще одна картинка...
    ____________________2.png
     
  7. Loknar

    Loknar Активный пользователь

    мой картинко для таких параметров :
    MaxBars=10000;
    Draw_ALL_Targets=true;
    Draw_one_window_channel=true;

    буду разбираться че не так, только в каких случаях для начала понять надо, кто еще найдет чего - постите
     

    Вложения:

    • auto_vc5.gif
      auto_vc5.gif
      Размер файла:
      33,8 КБ
      Просмотров:
      91
  8. DonPic

    DonPic Активный пользователь

    Баги с диагоналями. (GBPJPY)
    На Н4 (розовый канал) рисует диагонали правильно.
    ____________________3.png

    Переход на D1
    ____________________4.png

    Диагонали нарисованы не правильно.
     
  9. Loknar

    Loknar Активный пользователь

    новые реперы, соответственно переход должен осуществляться с экспертом, чтобы она заново переграбил все точки для нового ТФ. возможно есть баг в том что при переключении не происходит переграбания.. или с кэшем проблема, в любом случае буду смотреть как будет больше статистики, у меня такого бага не возникает как не пытался
     
  10. DonPic

    DonPic Активный пользователь

    Вот на D1 поставил параметр Draw_one_window_channel=true
    ____________________5.png
     
  11. matu1

    matu1 Новичок

    Loknar, здравствуйте!
    почему то не рисует каналы на H1, H4. На минутках, 15-шках и дневках отрисовывает (фунтобакс). Настройки по умолчанию. В чём может быть проблема? Какие настройки попробовать изменить?
     
  12. Tawaz

    Tawaz Активный пользователь

    здарово други, вставлю свои 5копеек............<u>до тех пор пока не был осуществлен бой канала - модели нет. соответственно лишьняя инфа в виде ростущего (формирующегося) канала на экране должна отсутствовать.....</u> сказал чтобы было учтено в дальнейшем так как заметил отображение в срипте наличие растущих каналов. честно сказать не совсем разобрался с параметрами. НО напоминание думаю будит не лишьним. а в общем Игорь молодечик - занят делом.
     
  13. bigpen

    bigpen Активный пользователь

    При включении Draw_one_window_channel очень часто не прорисовывается канал. Наблюдается на разных таймфреймах.
    В случае же отключения этого режима прекрасно рисует все каналы.
     
  14. Loknar

    Loknar Активный пользователь


    Баров какое количество в истории ? Если меньше 1000 - работать не будет, о чем и скажет в окне "Эксперты". Там вообще все баги пишутся так что лучше с логами оттуда, если че не так, гадать сложно

    скрины и логи так же в студию плиз, иначе непонятно с чем работаем.

    2Tawaz : да, спасибо за предупреждение, мне просто иногда этот режим удобно включать, отслеживать касание первого сопротивления при еще несформированном канале, ну и иногда бывает внутри несформированного нормальные бывают, по тренду можно встать :)
     
  15. matu1

    matu1 Новичок

    Loknar, спасибо за ответ! Мне уже товарищ Tavaz своим комментом помог понять в чем причина. Так и получилось - как только пробой произошёл, отрисовались каналы и цели.
    Вы в первом посте писали, что подробнее расскажете о комментариях на экране. Думаю что никто не будет против узнать о них подробнее. Особенно я :fh:
     
  16. matu1

    matu1 Новичок

    Где можно почитать первоисточник по VChannel ? Чтобы лучше понимать логику работы советника
     
  17. bELKanti

    bELKanti анти-elk на букву "b"

    "Опорные точки":

    <a href="http://www.onix-trade.net/forum/index.php?s=&showtopic=23197&view=findpost&p=240506" target="_blank"><u><b>http://www.onix-trade.net/forum/index.php?s=&showtopic=23197&view=findpost&p=240506</b></u></a>

    <a href="http://www.onix-trade.net/forum/index.php?s=&showtopic=23197&view=findpost&p=240766" target="_blank"><u><b>http://www.onix-trade.net/forum/index.php?s=&showtopic=23197&view=findpost&p=240766</b></u></a>

    <a href="http://www.onix-trade.net/forum/index.php?s=&showtopic=41569&view=findpost&p=259307" target="_blank"><u><b>http://www.onix-trade.net/forum/index.php?s=&showtopic=41569&view=findpost&p=259307</b></u></a>


    А также весь остальной материал <b><u><a href="http://www.onix-trade.net/forum/index.php?act=SF&s=&f=74" target="_blank">форума "Идеи по графическим методам работы"</a></u></b>. :)
     
  18. Tawaz

    Tawaz Активный пользователь

    Игорь тогда вот раз началась такая пьянка "в помощь ленивым и дополнительно людям делающим первые шаги" предложение мое ну так чтобы ваще герлянда была (извини мож излишне конечно) НО всеже: <b>растущий канал всегда красного цвета, как только убили канал так он пупыристого либо бругого сразу (это касаемо внутреней структуры)</b>..а внешние т.е. старшие тоже бывают не битые.............конечно более в пору и по теме говорить о вход -выход -стоп -тейк нежели о красоте и фонариках.
     
  19. Loknar

    Loknar Активный пользователь


    Что касается растущего канала - тут же вопрос интерпретации и точки отсчета. Если скажем мы торгуем по изначальным правилам Вадима, тогда да технически канал считается неподтвержденным если цена не коснулась ЛТ и по нему торговать нельзя. Если же рассматривать всю ситуацию в целом, что и пытаюсь автоматизировать я, то новый растущий канал (а при использовании всех экстремумов их может быть и несколько одновременно) может сигналить нам о некоей ситуации, некоем состоянии рынка, чего я и хочу научиться выделять.

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

    С выделением цветом сложнее. Как я уже сказал растущих обычно получается несколько и тогда непонятно какой именно выделять, нужны критерии. Если это скажем просто самый маленький и последний канал, от последнего же репера, это одно, если это прилинкованный канал со старшего масштаба, это другое. И тут опять же будет всплывать вопрос интерпретации. Как вариант я могу сделать жестким красным цветом канал неподтвержденный если он просто один, но это мне кажется очень усложнит систему и запутает людей, все равно без понимания азов каналоформирования этот эксперт пока не особо полезен в качестве сигнальной системы. Может как вариант подойдет скажем такое : незавершенные каналы при их отрисовке другим стилем делаются, например пунктиром ? Тогда и цвета менять не надо будет, и все разными останутся.

    Теперь что касается комментариев. Мысли были такие - вывести всю полезную информацию о каналах в одном окне, чтобы как-то ее суммировать и интерпретировать. Столкнулся со следующими трудностями :
    1. выводить информации нужно как можно меньше и при этом самую содержательную
    2. выводить ее нужно не просто в виде голых цифр, а неких соотношений, чтобы мозгу было проще усвоить
    3. информация должна быть полезной сама по себе, иначе зачем все это

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

    Что они содержат (в том порядке, в котором отображаются):
    UP/DOWN - направление канала
    Speed - скорость канала, измеряемая в "пункты за бар"
    Time passed - время, прошедшее от формирования последнего репера канала, 100% при этом будет тогда, когда время достигнет первой временной линии
    Height - высота канала в пунктах
    Extremums ratio - это первая попытка описать состояние. Если цена находится ровно посередине высоты канала, то этот параметр будет равен 1, поскольку пойдет ли цена вверх или вниз - все равно соотношение один к одному. Если цена допустим находится у верхнего репера, скажем на 10% от всей высоты канала, то этот параметр будет писать 9.0 SELL, поскольку соотношение разности цены и дальнего репера к цене и ближнему реперу равно 9 (TP/SL = 9), а SELL потому что я пока воспринимаю торговлю от реперов к реперам как одну из стратегий. Насколько она рабочая я пока не определился, но при <b>подтвержденном</b> канале и соотношении TP/SL>3 дает неплохие результаты (TP на одной из целей канала, чем ближе тем лучше), правда лосей конечно многовато.
    f_p_lines direction - этот параметр еще хитрее. Как я вижу каналы сейчас, эти линии дают примерное представление о текущем направлении цены, и соответственно когда цена находится над/под/между этими линиями - ее как-то тоже можно интерпретировать. Я пока избрал следующий алгоритм (буду его корректировать по мере моих наблюдений) : если цена находится между верхними и нижними - используем ту же самую формулу подсчета что и в первом параметре, только поскольку параметр показывает не торговые рекомендации а направление, UP будет появляться тогда, когда цена находится ближе к верхней линии и дальше от нижней, проценты будут показывать насколько собственно она дальше от "середины", между линиями. Если цена находится НАД обоими линиями (и верхней и нижней), то будет отображаться UP. Аналогично с DOWN. И последний вариант - когда цена находится ПОД обоими линиями, такое происходит когда цена ушла "достаточно далеко" от канала (объяснение для новичков) и поэтому назвал ее FLAT.

    Все эти комментарии повторюсь еще раз - моя попытка интерпретации рынка в целом. Что из этого получится я пока не знаю, но без целостного видения и задевать все это не стоило, поэтому пока как есть, наблюдаем. Если что кому придет в голову по поводу важной информации о всех каналах для лучшего целостного понимания - высказывайте.
     
  20. bELKanti

    bELKanti анти-elk на букву "b"

    <b>Игорь</b>, не совсем понятно, что ты именуешь здесь «<b>ЛТ</b>» («<i>Линия Тренда</i>»?).

    По смыслу твоей фразы, речь идет о пробое <i>правой границы <b>V</b>-канала</i>,
    которая, однако, в авторской терминологии – «<i>Линия Фильтра</i>».

    А по сути самого моделирования, имхо,
    <i>линией тренда </i>(или даже «осью тренда») логичнее называть <i>медиану </i><b>VChannel</b>.


    В целом есть предложение, во избежание непонимания друг друга,
    строже придерживаться единой <b><u><a href="http://www.onix-trade.net/forum/index.php?s=&showtopic=41569&view=findpost&p=259307" target="_blank">исходной терминологии </a></u></b>
    или при необходимости четко сформулировать и изложить новую.

    V_terminologia.gif

    Кстати, собственно «<i>Линию Фильтра</i>» (т.е. правую границу V-канала)
    не следует также путать с позднее добавленными в индикатор <b>VChannel</b> «диагоналями»:
    парочкой <b>fLine </b>(условно «<i>фильтр-линии</i>») и парой <b>pLine </b>(типа «<i>потенциал-линии</i>»).

    :bs:
     

Поделиться этой страницей