Система на основе корреляции от marattmb из Граалей + советник Abram

  • Автор темы Автор темы marattmb
  • Дата начала Дата начала

emagic

Интересующийся
Получилось ли у всех взять на бай запаздывающую корреляцию по EURUSD ? (это через EURGBP) верняк - сначала фунт ушел на новостях вверх, потом и евро отработал.

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

obo

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


Понял.

Но если речь именно о запаздывающей корреляции, то в таком случае нужно открывать только одну позу и только по одному инструменту через слабо волатильные пары евро-фунт и евро-франк, т.е. по EURUSD или GBPUSD или USDCHF.
 

emagic

Интересующийся
Понял.

Но если речь именно о запаздывающей корреляции, то в таком случае нужно открывать только одну позу и только по одному инструменту через слабо волатильные пары евро-фунт и евро-франк, т.е. по EURUSD или GBPUSD или USDCHF.

к чему тогда написано это, если это не так?

Как всем известно, самые слабые по волатильности кроссы это EURGBP и EURCHF, поэтому, торгуя расхождение EURUSD и GBPUSD необходимо дополнительно открывать еще две позиции, первую по USDCHF и вторую по GBPCHF.

т.е. - бай GBPUSD - селл EURUSD - селл USDCHF - селл GBPCHF

или - селл GBPUSD - бай EURUSD - бай USDCHF - бай GBPCHF

Понятно, что таким образом перекрываем разнонаправленные EURUSD и USDCHF и также страхуем фунты разнонаправленными позами, понимая, что GBPCHF это скрытый EURGBP.
 
Последнее редактирование:

obo

Элитный участник
к ему тогда написано это, если это не так?


Это было написано к автору данной темы (к дивергенции пар с положительной корреляцией).

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

terinki777

Местный житель
Вчера открылись сделки при 31(закрылись с небольшим профитом), до 40 не дошло.
 

lsv107

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


PHP:
Expand Collapse Copy
sinput string        section1             = "Money Management";

// Расчет лота либо фиксированный, либо в процентах от депозита
input  lotsmod       LotMode              = FixLot;        // Расчет лота ›››
input  double        Lots                 = 0.01;          // Фиксированный лот
input  double        Risk                 = 2.0;           // Максимальный риск(%)

"Учитывать при расчетах разную стоимость пункта, в этом случае
на парах с обратной котировкой размер лота будет отличаться,
чтобы уравновесить прибыль/убыток по разным парам"
input  rubool        UseUnequalLots       = false;         // Учитывать разную стоимость пункта по символам
sinput string        delimiter1           = NULL;          //·
"Настройки Мартингейла"
input  progr         MultiplicationMode   = Arithmetical;  // Метод увеличения лотности при "доливках" ›››
input  double        Multiplicator        = 0.01;          // Коэффициент (знаменатель/разность) прогрессии
sinput string        section2             = "Параметры торговли";

"Расхождение можно считать как разность стохастиков и как 
разность в дневном ходе цены. Обратите внимание, что для 
стохастика помимо периода вынесены в настройки замедление
и тип сглаживания. Теоретически на более плавных
стохастиках результаты должны быть лучше"
input  dclc          CalcMode             = clcStoch;       // Способ расчета расхождения ›››
input  int           StochPeriod          = 100;            // Период стохастика
input int            StochSlowing         = 3;              // Замедление стохастика
input ENUM_MA_METHOD StochMethod          = MODE_SMA;       // Тип сглаживания стохастика

"Наименования торговых инструментов. Если ваш брокер
использует в названиях пар префиксы, например  fEURUSD,
и/или суффиксы, например EURUSD.m, то надо ОБЯЗАТЕЛЬНО!
указать их в соответствующих параметрах. Если никаких 
префиксов/суффиксов нет, то SymbolPrefix и SymbolSuffix
должны быть пустыми строками. По умолчанию, в настройках
суффикс ".m", обратите внимание."
input  string        FirstSymbol          = "EURUSD";       // Первый символ
input  string        SecondSymbol         = "GBPUSD";       // Второй символ
input  string        SymbolPrefix         = "";             // Префикс символа
input  string        SymbolSuffix         = ".m";           // Суффикс символа
sinput string        delimiter2           = NULL;           //·
input  double        DifferenceOpenValue  = 50.0;           // Процент расхождения для открытия позиций
input  double        DifferenceCloseValue = 10.0;           // Процент расхождения для закрытия позиций
input  double        TakePrifitInCurrency = 0.0;            // Тейк профит в валюте(0-откл.)
input  double        StopLossInCurrency   = 5000.0;         // Стоп лосс в валюте(0-откл.)
sinput string        delimiter3           = NULL;           //·

"Если параметр MaxPositions=0, то по одному символу
открывается только одна сделка, если этот параметр
больше нуля, это значит, что столько позиций может
быть открыто по символу дополнительно. Например
при значении 1 по одной паре может быть открыто
2 сделки, одна из которых дополнительная и т.д."
input  int           MaxPositions         = 0;               // Максимальное кол-во "доливок" по одной паре

"Как только текущее расхождение увеличится на значение
MinDelta, откроется новая сделка, если предыдущий
параметр больше нуля. Позиции открываются на расстоянии,
не меньшем MinDistance от ближайшей. Обратите внимание,
что хотя бы один из этих параметров должен быть больше
нуля, потому что расстояние между позициями необходимо
регулировать, иначе они будут открываться одна за другой"
input  double        MinDelta             = 0.0;             // Мин.шаг расхождения(%)для новой "доливки"
input  int           MinDistance          = 0;               // Минимальная дистанция между ордерами
sinput string        delimiter4           = NULL;            //·
input  rubool        UseValueByPrevBar    = false;           // Использовать значения сформировавшегося бара
input  int           Magic                = 1000;            // Magic number
input  int           Slippage             = 10;              // Макс.допустимое проскальзывание
sinput string        section3             = "Время торговли";
input  rubool        TimeAllow            = false;           // Ограничивать работу советника по времени
input  uchar         OpenHour             = 8;               // Час начала торговли
input  uchar         CloseHour            = 14;              // Час завершения торговли
input  rubool        CloseByTime          = false;           // Закрывать все сделки в указанное время
input  rubool        CloseProfitable      = false;           // Закрывать только при наличии прибыли
input  uchar         HourClose            = 17;              // Час закрытия
input  uchar         MinutesClose         = 00;              // Минута закрытия

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

Посмотреть вложение ReportTester.zip
ReportTester-Difference_1.1.png
Посмотреть вложение Difference EA 1.1 (build 2).mq5
 

miklucky777

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

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

Посмотреть вложение 304063
Посмотреть вложение 304064
Посмотреть вложение 304062
Спасибо за открывшиеся возможности по оптимизации. Период стохастика 50 поставили при тесте, а не 100, потому что лучше отрабатывает с этим значением?
 
Последнее редактирование:

lsv107

Почетный гражданин
Спасибо за открывшиеся возможности по оптимизации. Период стохастика 50 поставили при тесте, а не 100, потому что лучше отрабатывает с этим значением?
Ничего не оптимизировал, просто подобрал параметры на скорую руку, чтобы кривая доходности была круче. Так что оптимизируйте, тестируйте и по возможности делитесь результатами.
 

lsv107

Почетный гражданин
Для МТ4 есть такой же ?
"Есть такой же, но с перламутровыми пуговицами?":)

Не вижу смысла пока. Мультвалютники в MT5 можно тестировать, для чего советник и писался под этот терминал. Там видно будет.
 

miklucky777

Интересующийся
Ничего не оптимизировал, просто подобрал параметры на скорую руку, чтобы кривая доходности была круче. Так что оптимизируйте, тестируйте и по возможности делитесь результатами.
Не могли бы вы при следующем обновлении в блок манименеджмента вставить расчет лота для первых позиций пропорционально размеру депо, например 0,01 лота на каждые N долларов. Непонятно как рассчитывается процент автолота, ведь у нас нет стопов по факту.
 
Последнее редактирование:

buza70

Новичок форума
"Как только текущее расхождение увеличится на значение
MinDelta, откроется новая сделка, если предыдущий
параметр больше нуля. Позиции открываются на расстоянии,
не меньшем MinDistance от ближайшей. Обратите внимание,
что хотя бы один из этих параметров должен быть больше
нуля, потому что расстояние между позициями необходимо
регулировать, иначе они будут открываться одна за другой"
подскажите, можно как-то добавить возможность открытия доп ордеров только по MinDistance без привязки к MinDelta?
 

panand

Местный знаток
Выкладываю новую доработанную версию советника. .....

"Расхождение можно считать как разность стохастиков и как
разность в дневном ходе цены. Обратите внимание, что для
стохастика помимо периода вынесены в настройки замедление
и тип сглаживания. Теоретически на более плавных
стохастиках результаты должны быть лучше"
lsv107 посмотрите на досуге такой индикатор,я постоянно пользуюсь вместо стохастика ибо он более точный.
Здесь ранее выкладывал,но что-то не комментировали. Настройки по-умолчанию,разве что сигнальные отключаю.
Думаю это будет интересно,особенно для корреляции пар, что и на практике использую.
Посмотреть вложение Traders_Dynamic CB SSA Norm Index AA 1-01.mq4
 

Afar230

Интересующийся
lsv107, большое спасибо за работу!
подскажите, можно как-то добавить возможность открытия доп ордеров только по MinDistance без привязки к MinDelta?
lsv107, а у меня вопрос наоборот, как можно добавить возможность открытия дополнительных ордеров только по MinDelta?

И ещё, как пожелание для внесения дополнительных функций.
Кстати, хотелось бы узнать, как вы видите реализацию доливок? У меня, конечно есть собственные варианты, но чтобы не проходить один и тот же путь дважды, хотелось бы выслушать мнение форумчан.
Я вижу необходимость доливок, если раздвижка продолжает расти. Но хотелось бы для каждой новой доливки добавить закрытие по своему схождению, а не по общему. Но функцию закрытия всех позиций по установленному проценту расхождения оставить.
Тут писал, как пожелание для МТ4
 

obo

Элитный участник
Я вижу необходимость доливок, если раздвижка продолжает расти.


Скажите, а что значит "доливка" ?

Определение термина дайте, чтобы все говорили об одном и том же.

... а "раздвижка" - это дивергенция между валютными парами с положительной корреляцией ?
 

Afar230

Интересующийся
Скажите, а что значит "доливка" ?
Я доливку вижу так: открылся я, например, при 50% расхождения, а расхождение продолжило увеличиваться, я далее открываюсь, например, при 60%.
... а "раздвижка" - это дивергенция между валютными парами с положительной корреляцией ?
Да, согласен, так.
 

obo

Элитный участник
Я доливку вижу так: открылся я, например, при 50% расхождения, а расхождение продолжило увеличиваться, я далее открываюсь, например, при 60%.


Т.е. например - GBPUSD ушел вниз, ваш индикатор показал некие 50% и вы открываете бай GBPUSD и селл EURUSD одинаковыми объёмами в одно и тоже время. Через какое-то время ваш индикатор показал 70 % и вы добавляете бай по фунту и селл по евро одновременно и какими объёмами ?
 

Afar230

Интересующийся
Т.е. например - GBPUSD ушел вниз, ваш индикатор показал некие 50% и вы открываете бай GBPUSD и селл EURUSD одинаковыми объёмами в одно и тоже время. Через какое-то время ваш индикатор показал 70 % и вы добавляете бай по фунту и селл по евро одновременно и какими объёмами ?
Да.
 

lsv107

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

подскажите, можно как-то добавить возможность открытия доп ордеров только по MinDistance без привязки к MinDelta?
Сейчас проверил, действительно дистанцию не учитывает, досадная ошибка, исправил. Итак, если шаг увеличения раздвижки MinDelta=0, то позиции открываются только через минимальный шаг MinDistance пунктах.
Обновленную версию прикрепляю.

Afar230 сказал(а):
lsv107, а у меня вопрос наоборот, как можно добавить возможность открытия дополнительных ордеров только по MinDelta?
Это и так работало и соответственно работает сейчас. Надо лишь MinDistance обнулить, а MinDelta присвоить нужное вам значение.
Главное, чтобы один из этих параметров был больше нуля.

lsv107 посмотрите на досуге такой индикатор,я постоянно пользуюсь вместо стохастика ибо он более точный.
Здесь ранее выкладывал,но что-то не комментировали. Настройки по-умолчанию,разве что сигнальные отключаю.
Думаю это будет интересно,особенно для корреляции пар, что и на практике использую.
Я посмотрю, конечно, но ничего не обещаю, так как индикатор все-таки под MT4, надо будет переписывать.

Не могли бы вы при следующем обновлении в блок манименеджмента вставить расчет лота для первых позиций пропорционально размеру депо, например 0,01 лота на каждые N долларов. Непонятно как рассчитывается процент автолота, ведь у нас нет стопов по факту.
Согласен, сейчас автолот считается весьма условно по залогу для одной сделки и доступным средствам. Если у вас есть конкретное предложение, то, как говорится, формулу - в студию!

Хотел еще поделиться "лайфхаком" с теми, кто еще мало знаком с MT5. Советник у нас мультивалютный, поэтому при визуальном тестировании трудно оценить расхождение стохастиков в динамике. Есть написанный мной мультивалютный индикатор, показывающий расхожднение на обеих парах, но просто кинуть его на график в режиме визуального тестирования как в MT4 не получится. Поэтому сначала сохраняем шаблон с индикатором как tester.tpl (параметры индикатора на графике должны совпадать с параметрами в советнике). Затем запускаете тестирование, и индикатор появляется на графике. Если потом будете тестировать другие советники, просто замените шаблон или удалите его. Чтобы было понятнее, записал небольшое видео:
https://youtu.be/xA93zWvaYLs
 

Вложения

Последнее редактирование:
Верх