Автоматическая и полуавтоматическая торговля на коррелирующихся парах

cmillion

Гуру форума
Хеджирование (от англ. hedge — страховка, гарантия) — установление позиции по срочным сделкам на одном рынке для компенсации воздействия ценовых рисков равной, но противоположной срочной позиции (позиции по срочным сделкам), на другом рынке.
Целью хеджирования является защита от неблагоприятных изменений цен на рынке акций, товарных активов, валют, процентных ставок, и прочее.

Нас интересует торговля валютными парами, основанная на хеджировании. Что для этого требуется?
1) определить инструменты, которые способны компенсировать друг друга. Это совсем не сложно, например "золото" и "серебро".

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

5.PNG
day.PNG
hourly.PNG
weekly.PNG

2) определить какой из инструментов на данный момент нужно продать, а какой купить. Для этого есть множество вариантов, один из них это разместить котировки обоих инструментов в одно окно и по характеру их движения определить инструмент для покупки и продажи. В этом поможет индикатор MultiInstrument

Нажмите на изображение для увеличения

MultiInstrument.gif

Открывать ордера Вы можете сами, с помощью скрипта cm_script_Hedge (в приложении)


PHP:
extern string  SYMBOL1        = "GBPUSD"; //первый символ 
extern string  SYMBOL2        = "EURUSD"; //второй символ 
extern double  LOT1           = 0.1;      //лот первого инструмента 
extern double  LOT2           = 0.1;      //лот второго инструмента 
extern int     TYPE1          = OP_BUY;   //тип ордера первого инструмента 
extern int     TYPE2          = OP_SELL;  //тип ордера второго инструмента 
extern int     stoploss       = 10,       //уровень выставления SL, если 0, то SL не выставляется 
               takeprofit     = 10;       //уровень выставления TP, если 0, то TP не выставляется 
extern int     Slippage       = 3;        //проскальзывание  
extern int     Magic          = 777888;
Дальнейшее действие - ждем когда оба инструмента в сумме дают нужную нам прибыль и закрываем оба ордера. Можно так же использовать для этой цели советник CloseProfit
Советник закрывает все ордера при достижении заданного размера профита или убытка в валюте депозита.
Советник может работать только по той паре на которую брошен или по всем инструментам счета.

PHP:
ProfitClose     = 10;   //закрывать все ордера при получении профита  
LossClose       = 1000; //закрывать все ордера при получении убытка  
AllSymbol       = false; //учитывать все инструменты или только тот, на котором стоит советник
Естественно для данной стратегии AllSymbol = true

Пример работы:

xauxag 3days.PNG

Удачной торговли!
 

Вложения

  • CloseProfit v2.mq4
    6,8 КБ · Просмотры: 243
  • cm_script_Hedge.mq4
    3,8 КБ · Просмотры: 244
  • MultiInstrument.mq4
    2,7 КБ · Просмотры: 224

cmillion

Гуру форума
Советник cm_ea_Hedge 3

Советник, выставляет 3 ордера по 3м валютам если по всем указанным парам нет открытых позиций.

Может использоваться как скрипт.

PHP:
extern string  SYMBOL1        = "GBPUSD"; //первый символ, если не указан, то не выставляется
extern string  SYMBOL2        = "EURUSD"; //второй символ, если не указан, то не выставляется
extern string  SYMBOL3        = "EURGBP"; //третий символ, если не указан, то не выставляется
extern double  LOT1           = 0.1;      //лот первого инструмента
extern double  LOT2           = 0.1;      //лот второго инструмента
extern double  LOT3           = 0.1;      //лот третьего инструмента
extern int     TYPE1          = OP_BUY;   //тип ордера первого инструмента
extern int     TYPE2          = OP_SELL;  //тип ордера второго инструмента
extern int     TYPE3          = OP_SELL;  //тип ордера третьего инструмента
extern int     stoploss       = 10,       //уровень выставления SL, если 0, то SL не выставляется
               takeprofit     = 10;       //уровень выставления TP, если 0, то TP не выставляется
extern int     Slippage       = 3;        //проскальзывание 
extern int     Magic          = 777888;
 

Вложения

  • cm_ea_Hedge3_30.07.13.rar
    1,2 КБ · Просмотры: 253
Последнее редактирование:

cmillion

Гуру форума
Суть стратегии.

Мы понимаем что инструменты двигаются почти синхронно и надеемся на то что так и будет всегда, но иногда инструменты, назовем их S1 и S2 начинают выходить из привычной картины. Например оба они шли вверх и тут вдруг S2 отстал или даже развернулся вниз. Мы понимаем, что данная ситуация исключение из правил и в дальнейшем инструменты все же прийдут в синхронное движение и фиксируем данную точку тем что выставляем по S1 sell а по S2 buy. Теперь куда бы не пошли инструменты вверх или вниз они пойдут опять синхронно и если S2 отстал то он догонит S1 чуть позже или S1 притормозит, а если тренд развернулся, то выходит S1 отстал но уже на движении вниз, и он все равно будет стремиться догнать S2. Мы понимаем что между ними был временный разлад который мы успешно поймали и дожидаемся когда они вновь вернуться друг к другу и в любом случае получаем от этого прибыль. Есть конечно ситуации когда инструменты все дальше и дальше расходятся друг от друга и тому виной какие то серьезные события в политике и экономике. В этом случае мы добавляем ордера каждый раз как расхождение между инструментами достигает очередного шага и в конечном итоге все же должны дождаться профита так как изменить сложившуюся за много лет корреляцию практически невозможно!

Советник работает на инструментах, способных компенсировать друг друга, например, «золото» и «серебро» или CHFJPY и EURJPY, главное, чтобы у встречных инструментов был общий «знаменатель». Ниже приведены таблицы коррелирующих между собой инструментов.

В параметрах советника мы задаем нужные нам инструменты. Советник определяет какой из инструментов на данный момент нужно продать, а какой купить, дожидается нужного движения и делает ставки. Благодаря встречным сделкам советник страхует депозит от просадок. Закрытие ордеров осуществляется только при суммарном профите, определенным внешней переменной.

В системе используется Индикатор Hedg,

Он сравнивает два инструмента и выдает дельту между ними. На основании этой дельты советник принимает решение о входе в рынок.

Пример работы советника HEDGE:
hedg2-300x187.gif
hedge1-1024x454.gif

Описание переменных:

PHP:
extern string  SYMBOL2        = "";  //второй символextern string _period_        = "0-H1  1-H4  2-D1  3-W1  4-MN1";  //это просто текст, показывающий какой число что будет значить для Period_Comparison extern int Period_Comparison  = 2;  //Это временной промежуток, на котором советник находит максимальное и минимальное расхождение дельты extern int     averaging      = 5; //усреднение дельты по N свечейextern double  StopMarga      = 10.0;     //маржа для закрытия ордеров //как только прибыль всех ордеров достигнет этого значения (в валюте депозита) все ордера будут закрыты.extern double  MinDelta       = 30.0;     //минимальная дельта для открытия ордеровextern double  StepDelta      = 10.0;     //минимальный шаг дельты для открытия последующих ордеровextern double  StopLossMarga  = 10000.0;  //убыток для закрытия ордеров //как только убыток всех ордеров достигнет этого значения (в валюте депозита) все ордера будут закрыты.extern double  LOT            = 0.5;      //лот первого инструмента (текущего окна) extern double  LOT2           = 0.0;      //лот второго инструмента, если 0 то определяем автоматом extern double  K_LOT          = 1.5;      //коэффициент увеличения лота при увеличении дельтыextern int     Magic          = 777888;extern int     OrderTotal     = 5;extern int     N_Open_orders  = 10; //количество попыток закрытияextern int     Slippage       = 3;extern color   WevesColor     = Gold;extern string  часы.работы.советника="";extern int     TimeStart      = 4 , //время начала работы советника                TimeEnd        = 24; //время окончания работы советникаextern bool    DelSingleEntry = true; //удалять ордер, если он остался в одиночестве (без встречной сделки)extern int     TimeOpenOrder  = 180; //удалять только если ордер открыт более TimeOpenOrder секунд назадextern bool    revers         = false; //смена направление ордеровextern bool    LanguageEng    = true;     //Language English / Russian
Работа советника:

Индикатор рассчитывает корреляцию (в дальнейшем Дельта) двух инструментов за период, определенный переменной Period_Comparison (час=0 H4=1 день=2 неделя=3 месяц=4).

Советник открывает сделки в тот момент, когда холм дельты идет на спуск и при этом текущая дельта больше MinDelta.

Сделки закрываются, если общая прибыль ордеров будет больше StopMarga (в валюте депозита).

Если после открытия ордеров дельта продолжает расти, то пройдя очередную ступень StepDelta открываются добавочные (увеличенные на K_LOT) ордера.

Всего может открыться OrderTotal ордеров каждого направления.

LOT2 Лот второго инструмента советник рассчитывает сам в зависимости от соотношения цены тика 1го и 2го инструментов, но если выставить LOT2>0 то лот будет установлен вручную.

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

Для этого в советнике есть фильтр по времени работы: «часы работы советника».

TimeStart — время начала работы советника

TimeEnd — время окончания работы советника

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

Если при закрытии ордера происходит реквот, то советник повторяет действие N_Open_orders раз и при невозможности закрытия сообщает об этом алертом.

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

Вложения

  • ind_Hedge.ex4
    16,4 КБ · Просмотры: 172
  • EA_Hedge_13.1.ex4
    51,1 КБ · Просмотры: 170
Последнее редактирование модератором:

Zohar

Интересующийся
Что то не получается советник cm_ea_Hedge 3 установить(((
 

Zohar

Интересующийся
На центовике хотел попробовать советник EA_Hedge_13.1.ex4-пишет что демо версия...
 

Zohar

Интересующийся
А что именно у Вас на экране и в журнале?

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

Zohar

Интересующийся
Он ведь при этом пишет, что нужно сделать?

Да,конечно)))Просто хотел поэкспериментировать на реальном как работает моя идея)))Но оно и к лучшему,т.к. и на демке идея провалилась)))На сайт заходил,ассортимент Ваших советников впечатляет.Даже загорелся приобрести нет эксперта,но после слива на демке поостыл.)))Буду тестить...Но на сегодняшний день ничего стоящего из советников в нете не нашел.
 

Zohar

Интересующийся
А советник EA_Hedge_13.1 в тестере не выйдет прогнать?У меня не проходит...
 

Novikov

Гуру форума
На сайт заходил,ассортимент Ваших советников впечатляет.

И чем это впечатлился? Количеством бестолковых советников в основе которых мартышка? :facepalm:
Ничего хорошо и стоящего у смиллиона нет, т.к. работает до определенного момента, как и любая другая мартышка и потом сливает!
Тестерные "граали". Не одного долгоиграющего мониторинга не наблюдал.

А вот скрипты его, для работы с ордерами - отличные.
 

cmillion

Гуру форума
И чем это впечатлился? Количеством бестолковых советников в основе которых мартышка? :facepalm:
Ничего хорошо и стоящего у смиллиона нет, т.к. работает до определенного момента, как и любая другая мартышка и потом сливает!
Тестерные "граали". Не одного долгоиграющего мониторинга не наблюдал.

А вот скрипты его, для работы с ордерами - отличные.

Зависть это грех :) Вы лучше свои совы пишите, чем чужие обличать.
 

Novikov

Гуру форума
Зависть это грех :) Вы лучше свои совы пишите, чем чужие обличать.

Зависть? Вы это о чем? Чему завидовать то? Можете пальцем указать на объект зависти? :facepalm:
Всего лишь высказал свое мнение и не более того! А еще, цены Вы себе не сложите! Уж слишком загибаете их :not-bad:
А свои писать - увольте, я бестолочь и в написании кода не шарю. :D

p.s. за скрипты Вам личное большое спасибо, некоторыми пользуюсь, нравятся!
 

Zohar

Интересующийся
Подскажите пожалуйста параметр Откатстопмаржа за что отвечает?
 

Zohar

Интересующийся
Это Вы о каком советнике?
Судя по названию это откат трала профита при котором закрываются все позиции

Это вопрос по поводу советника EA HADGE 13.1 Я так понял что это тот советник который вы на сайте продаёте "МТС Hedge",только там версия 13?
Насколько я понял он открывает сделки при уменьшении экстремума индикатора(жёлтого цвета),открывает новые колена если экстремум делает новые пики и потом закрывает всё если уровень достиг значения "стоп маржа" в валюте депозита.Не совсем понял где же там трал?И ещё что такое параметр revers в настройках?
 

cmillion

Гуру форума
Это вопрос по поводу советника EA HADGE 13.1 Я так понял что это тот советник который вы на сайте продаёте "МТС Hedge",только там версия 13?
Насколько я понял он открывает сделки при уменьшении экстремума индикатора(жёлтого цвета),открывает новые колена если экстремум делает новые пики и потом закрывает всё если уровень достиг значения "стоп маржа" в валюте депозита.Не совсем понял где же там трал?И ещё что такое параметр revers в настройках?

Да это тот же советник только другая версия

Трал стартует при прибыли StopMarga и при откате на OtkatStopMarga все ордера закрываются. Если OtkatStopMarga=0 то ве закрываются без трала.
 

Zohar

Интересующийся
Ок,понятно...а реверс в каком случае используем?
 
Верх