кластерно-портфельная система

Тема в разделе "Стратегии работы на рынке. Общий форекс форум.", создана пользователем alexxxx1978, 16 ноя 2007.

  1. alexxxx1978

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

    Посмотреть вложение Statement_new.rar
    Могу подкинуть идею одной кластерной-портфельной системы, возможно идея покажется интересной.
    Правда срок тестирования пока очень маленький, всего 2,5 месяца.
    Но система пока показывает приличную прибыль в том числе и в условиях повышенной волатильности.
    Кроме того не зависит от глобальных трендов,свопов и от кризисов,которые сейчас на рынке.
    Возможно что-то натолкнёт на мысли для создания системы альтернативной той, которая применялась.
    (стейт приложил)
     
  2. alf

    alf Старый опытный камикадзе

    это только для Арона было?
     
  3. Heinz Atkins

    Heinz Atkins Идейный борец за денежные знаки

    Я кстати по похожей схеме работаю, но только по EURUSD AUDUSD EURJPY GBPJPY.Помимо СС юзаю
    ZUP и AIASM.
     
  4. KimIV

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

    Мне тоже интересен ответ на этот вопрос.
     
  5. alexxxx1978

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

    Ну,просто, в основном Арон работает с кластерными тс...не думаю что ещё кому-то интересны подобные системы или идеи. :ab:
    А здесь просто мысль. Теория и стейт всего за 2, 5 месяца,
    которая безусловно требует проверки временем.
    Есть определённые пары (для примера как на картинке.)
    Как видно что за этот период они ходили как вверх так и вниз фигур на 15 или даже больше(особенно
    в августе) но при этом относительно друг друга
    держат относительно узкую дистанцию и периодически расходятся и затем снова сходятся, сокращая
    разрыв до минимума или вообще до нуля.
    Смысл-как только получаем расхождение(на индюке не меньше 85-90 процентов)
    то открываемся в сторону схождения, как бы фиксируем"дистанцию разрыва"
    и понемногу(доб. по 0.1лоту) услиливаем
    ту которая идёт в сторону схождения,т.е для бай ордера открываются выше первой открытой позы, для
    селл-ниже.Что должно позволить вывести эквити счёта как минимум в безубыток.
    Причём заранее не известно
    за счёт чего будет получено схождение-за счёт роста одной или падения другой...т.е при смене
    тренда та которая упала ниже стремится догнать ту,которая убежала выше или наборот,та которая
    упала ниже "притормаживает"падение а вторая пара стремится догнать её в падении,сокращая
    интервал.
    Та пара,которая быстрее пройдёт эту дистанцию в сторону схождения та и выводит эквити счёта в
    плюс.
    Лучше всего сходятся кроссы(или одна из пар-кросс), не следует отрабатывать пары с двухсторонним
    отрицательным или положительным свопом.
    Одна-в сторону свопов,другая-против свопов,это исключает возможность получения двухстороннего
    минуса по всем позам.
    Корреляция(на картинке)имеет "зоны перекупленности-перепроданности"
    и достигнув максимально отрицательного или положительного значения,начинает стремиться в
    противоположенную сторону.Может служить дополнительным сигналом.
    Индикатор схождения-расхождения:
    Принцип.
    Предполагается,что когда пары пересекаются(сходятся,догоняют друг друга)то число(проценты) равно
    нулю.
    Допустим одна ушла вверх на 1000 пунктов (от точки последнего схождения)
    вторая на 700 вверх,получается разница 300 пунктов.
    Далее сравниваем эту разницу с максимальной разницей которая была на заданном ТФ(не менее 4х
    часовой ТФ
    и 1000 баров) допустим ,эта разница была 600 пунктов.Значит в данный момент имеем расхождение 50
    процентов.Когда дистанция разрыва будет близка к 600 пунктам(т.е к 100 процентам) то можно
    открываться.
     

    Вложения:

    • 111.gif
      111.gif
      Размер файла:
      6,5 КБ
      Просмотров:
      142
    • 1110.gif
      1110.gif
      Размер файла:
      14,5 КБ
      Просмотров:
      96
    • eurjpyaudjpy1.gif
      eurjpyaudjpy1.gif
      Размер файла:
      10,6 КБ
      Просмотров:
      92
  6. KimIV

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

    У меня недавно появился большой интерес к подобным системам...
    Дайте, пожалуйста, ещё ссылку на указанные Вами индикаторы или сюда выложите.
     
  7. alexxxx1978

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

    Индикаторы: расхождений и корреляции.
     

    Вложения:

  8. KimIV

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

    Благодарю...
     
  9. DVDima

    DVDima indifférent Команда форума

  10. KimIV

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

    Да, Дима, сделай. Склепаю советника, будет куда выложить. Да и стейты с демки тоже понадобятся. В тестере-то такого монстра не прогнать будет. Так что работа займёт какое-то время...
     
  11. Heinz Atkins

    Heinz Atkins Идейный борец за денежные знаки

    Алекс, спасибо за индикаторы. От себя добавлю что на небольших таймфреймах М15 М5 очень часто удается словить встречное движение сонаправленных пар - вечером, ночью в особенности.
    На Н4 я как раз перестал работать ибо не подходит мне.
    Вот собственно индюки которыми пользуюсь я.
    Посмотреть вложение MultiValuta_Kharko.mq4 (расширение у файла MultiValuta_Kharko.mq4 поменяйте на ex4)
    Посмотреть вложение 21425
     
  12. KimIV

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

    Алексccc, наверное, моё заявление было невежливым по отношению к Вам. Собрался программить, не спросив ни разрешения, ни Вашего согласия помочь. Прошу меня извинить :ah: ... Вы как, не против будете мне помочь? Помощь мне нужна будет в составлении ТЗ в виде ответов на некоторые мои вопросы.
     
  13. alexxxx1978

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

    Попробую ответить...интересно посмотреть,удасться ли реализовать это в виде советника.
     
  14. KimIV

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

    Благодарю!

    Приведите, пожалуйста, весь список.

    И сюда же вопрос. А нельзя ли будет сделать список валют и комбинаторный отбор пар из него? Например, список "eurusd, gbpusd, usdjpy". Из этого списка получаем пары:
    eurusd - gbpusd
    eurusd - usdjpy
    gbpusd - usdjpy
    В определённые моменты времени каждую пару тестируем на предмет соответствия критерию (о нём позже). Если удовлетворяет критерию, торгуем эту пару. Это первый вариант, когда советник сам составляет пары

    Второй вариант. Может быть мы сами укажем советнику те пары, которые он должен будет торговать. Сделаем что-нить типа "eurusd-gbpusd,eurusd-usdjpy,gbpusd-usdjpy".

    Первый вариант предполагает бОльшее количество торгуемых пар. Тут могут всплыть даже очень интересные варианты.
    Второй вариант - только те, которые укажем.

    Здесь нужно указать более точно моменты усиления. Возможные варианты:
    1. Через какое-то время после открытия основной пары.
    2. По достижении некоторого профита.
    3. По достижении ценового уровня.

    Каким образом формируется этот сигнал? Наклон, разворот, достижение уровня?
     
  15. alexxxx1978

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

    1)Отрабатывал в основном кроссы. Составляющие кроссов(типа eurusd-gbpusd не отрабатывал)
    euraud-audnzd
    gbpusd-audjpy
    eurjpy-gbpjpy
    eurjpy-audjpy
    eurjpy-nzdusd
    gbpchf-audjpy
    gbpchf-eurjpy
    audeur-nzdgbp
    eurnzd-gbpaud
    eurchf-chfjpy
    Есть пары которые довольно длительный период идут "тесно" друг с другом(как на картинке) , а есть у которых имеется некоторая тенденция к постепенному увеличению разрыва и схождения
    случаются реже..думаю всё таки в идеале нужно учитывать и ФА, например процентный дифференциал , изменение которого может оказывать влияние на движение одной из пар.
    Т.е лучше указывать пары самому.
    2)Усиление-просто выставлял отложенные ордера в сторону схождения(через 10-15 п).На сильных движениях весьма эффективно, когда одна из пар уходила резко в плюс и имела к тому же перевес по лотам. При флете-хуже.
    3)Насчёт корреляции-впринципе это вторично ,просто захождение из положительной зоны в отрицательную зону или наоборот. В идеале-сильное расхождение между парами и значение корреляции близкое к максимально отрицательному или максимально положительному на заданном ТФ.
     

    Вложения:

    • nzd.gif
      nzd.gif
      Размер файла:
      15,9 КБ
      Просмотров:
      69
  16. arzuma

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

    Мне кажется, что надо ещё учитывать стоимость пункта.
     

    Вложения:

  17. KimIV

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

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

    Первое, что я делаю - это код индикатора вытаскиваю во внешнюю функцию. Если индикатор даёт какие-то значения, то функцию называю <b>GetSignals()</b>. Если индикатор даёт готовые торговые сигналы, то функцию именую <b>GetTradeSignals()</b>. Такой перенос делается для ускорения работы советника, а попутно прощупывается нутро индикатора. Сигнальная функция помещается во внешний файл, который подключается к индикатору и к советнику директивой компилятора <b>#include</b>. Главным достоинством такого подхода является то, что показания пользовательского индикатора передаются в советник минуя тормозную функцию <b>iCustom()</b>, что существенно ускоряет работу советника особенно в тестере.

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

    В системе <b>Алекса</b> основным является индикатор <b>SHI_2Symbol_01</b>. Расчётный блок этого индикатора я вынес во внешний файл <b>s-SHI_2Symbol_01.mqh</b> (в прицепе). Это, так сказать, сигнальный модуль, который будет использоваться в моих модификациях индикатора <b>SHI_2Symbol_01</b> и в будущем советнике.

    Прицепляю к посту первые две модификации для тестирования всеми желающими:
    - <b>i-SHI_2Symbol_01.mq4</b> - Точная копия индикатора <b>SHI_2Symbol_01.mq4</b>. Но в отличие от оригинала использует сигнальный модуль <b>s-SHI_2Symbol_01.mqh</b>, который нужно положить в папку <b>...\experts\include\ и НЕ компилировать</b>. Просто положить и всё.
    - <b>i-Div2Symbols.mq4</b> - Индикатор собственно самого расхождения. Текущее значение должно точно совпадать с тем, что пишет <b>SHI_2Symbol_01.mq4</b> в правом верхнем углу в строчке "Расхождение".

    Оба индикатора <b>i-SHI_2Symbol_01</b> и <b>i-Div2Symbols</b> используют сигнальный модуль <b>s-SHI_2Symbol_01</b>. Значения, показываемые индикатором <b>i-Div2Symbols</b>, станут основой торговых сигналов будущего советника.

    З.Ы. В индикаторе <b>SHI_2Symbol_01.mq4</b> я нашёл небольшую непринципиальную ошибку округления, которая приводила к значениям расхождения больше 100%. Мне попадались значения 100,24 и 100,94. Я счёл, что это неправильно и исправил ошибку. Поправленный индикатор тоже выкладываю.
     

    Вложения:

  18. KimIV

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

    Если Вы сумеете разработать алгоритм отбора пар взависимости от значения процентного дифференциала, то я попробую его реализовать в советнике. На себя разработку алгоритма я не беру, т.к. ничего не понимаю в ФА. В своей торговле использую только паттерны, то есть ТА.

    Эту возможность я реализую. Сейчас как раз думаю, как удобнее организовать настройку пар во внешних параметрах. Вариант записи в одну строку типа "euraud-audnzd,gbpusd-audjpy,eurjpy-gbpjpy,eurjpy-audjpy,eurjpy-nzdusd,gbpchf-audjpy,gbpchf-eurjpy,audeur-nzdgbp,eurnzd-gbpaud,eurchf-chfjpy" мне чё-то не нравится. При записи такой строки легко ошибиться. Этот вариант со счетов сбрасывать пока не будем, но дополнительно давайте рассмотрим следующие варианты:
    1. Список пар, если он фиксированный (постоянный), забить в массивы внутри советника и пользователю не давать возможности управлять этим списком.
    2. Создать энное количество параметров, каждый из которых будет описывать конкретную пару. Строковый параметр типа "euraud-audnzd". Пустой параметр использоваться не будет.
    3. Создать логические параметры с осмысленным названием, указывающим на конкретную пару, например, euraud_audnzd. Такие параметры будут иметь значения True/False и либо разрешать советнику торговлю данной парой, либо запрещать. То есть пользователь сможет управлять составом портфеля в пределах допустимого и заранее определённого набора пар.
    4. Может кто-то предложит свои варианты?

    Самым универсальным мне представляется вариант с одной длинной строкой. Но у него следующие недостатки:
    1. Легко ошибиться в наборе такой строки. Этот недостаток можно преодолеть проверками и защитами "от дурака".
    2. Длина строки ограничена 255-тью символами. Одна пара валютных инструментов занимает 6+1+6=13 символов и плюс разделитель между парами. Итого 14 символов. Значит, в такой параметр мы сможем запихать 255/14=18 пар. Как думаете, Алекс, этого достаточно?

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

    Нет, так не пойдёт. Компьютеру нужна конкретика. Давайте с корреляцией определимся точнее. Используем её или нет. А если используем, то как:
    1. Просто захождение из положительной зоны в отрицательную зону или наоборот. Это без проблем.
    2. Значение корреляции близкое к максимально отрицательному или максимально положительному. А тут вопросы. Насколько близко? Нужна конкретная цифра. Далее максимально отрицательное и максимально положительное значения. Какие это значения? А если эти значения неизвестны или плавающие, то как их определить. расчитать? Нужна формула.
     
  19. Heinz Atkins

    Heinz Atkins Идейный борец за денежные знаки

    Пользуясь случаем, хотел бы поблагодарить KimIV за
    e-CloseByPercentProfit. Полезная штуковина. Юзаю на очень похожей стратегии, очень помогает.
     
  20. KimIV

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

    Зачем? Расхождение измеряется в процентах. Это относительная величина. Оригинал работает с пунктами, а учёт стоимости пункта в валюте депозита (чаще всего доллары) приведёт лишь к изменению единицы измерения абсолютных величин. В данном случае пункты будут преобразованы в доллары. А относительная величина - процент - останется примерно той же. В прицепе картинка с обоими индикаторами: SHI_2Symbol_01.mq4 и SHI_2Symbol_02.mq4
     

    Вложения:

    • shi_1_2.gif
      shi_1_2.gif
      Размер файла:
      9,5 КБ
      Просмотров:
      27

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