Советники: HTH Trader - страница 3

 
granit77:
Vkorch:

..EURUSD, USDCHF и AUDUSD встали в длинную, а GBPUSD в короткую.

У меня стоят так же, но любопытно, что при этом на 16-45 мск имею 115 п. убытка.

Я тестирую на Мастерфорекс. Возможно из-за свижки во времени в терминале получается такая канитель. Так что еще одна проблемма.

 
Vkorch:

Кто это будет делать, вот в чем вопрс.

Обращался к автору, ему ловчее.. Если нет, то каждый сам себе.

 
granit77:

Vkorch писал(а): Все стоит. По какому условию он открывает позиции.

Все прекрасно работает. Утром (00-05) открывает, вечером закрывает. Загляните в код, там все прописано.

За сегодня -154 п. профита (в смысле, убытка).

так чего логику входа на оборот поменять?
 
granit77:
Vkorch:

Кто это будет делать, вот в чем вопрс.

Обращался к автору, ему ловчее.. Если нет, то каждый сам себе.

такая логика меняет вес хэдж
 
c0d3 писал(а): такая логика меняет вес хэдж

Это верно. Но к Вам есть вопрос: нам нужен сбалансированный хэдж или профит от сделки?

Предложенные изменения являются аварийным выходом, а аварийный выход должен нарушать установленные правила, чтобы получить профит.

Советник начинает каждый новый день с установки правильного хэджа. Если советник имеет профит, вес хэджа не меняется.

Если советник получил убыток, прибыльные позиции удваиваются, советник выходит в профит, профит снимается коротким

TakeProfit, все позиции закрываются.

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

Опцию аварийного выхода можно сделать отключаемой: extern bool EmergencyExit=True/False;

 
c0d3 писал(а): так чего логику входа на оборот поменять?

Нет необходимости. У советника есть своя логика, пусть она и работает. Я думаю, что надо только предусмотреть вариант изменения стратегии, если советник вошел в зону убытков.

 
granit77:
c0d3 писал(а): такая логика меняет вес хэдж

Это верно. Но к Вам есть вопрос: нам нужен сбалансированный хэдж или профит от сделки?

Предложенные изменения являются аварийным выходом, а аварийный выход должен нарушать установленные правила, чтобы получить профит.

Советник начинает каждый новый день с установки правильного хэджа. Если советник имеет профит, вес хэджа не меняется.

Если советник получил убыток, прибыльные позиции удваиваются, советник выходит в профит, профит снимается коротким

TakeProfit, все позиции закрываются.

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

Опцию аварийного выхода можно сделать отключаемой: extern bool EmergencyExit=True/False;

Ладно, но с самого начала у советника убыток, наверно надо ждать некоторое время, а потом проверять если советник в убытке? А иначе, EmergencyExit будет всёгда активным. Еще один вопрос, если EmergencyExit включается, прибыльные позиции удваиваются только раз? 

 
c0d3:

Ладно, но с самого начала у советника убыток, наверно надо ждать некоторое время, а потом проверять если советник в убытке? А иначе, EmergencyExit будет всёгда активным. Еще один вопрос, если EmergencyExit включается, прибыльные позиции удваиваются только раз?

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

1. Ввести внешнюю переменную extern int еmergency_loss=20, задающую размер лосса, при котором удваиваются позиции.

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

3. Ввести глобальную переменную-флаг для контроля количества операций удвоения: bool еmergency_ready =True.

4. Создать функцию void EmergencyExit(), в которой в цикле проверить профит открытых позиций, открыть дополнительные позиции в направлении профитных и обнулить значение флага (еmergency_ready =False). Можно вместо усиления профитных позиций залокировать убыточные, это может экономить маржу в некоторых ДЦ.

5. Вызвать EmergencyExit(), если текущее время больше заданного времени проверки, totalprofit <= -еmergency_loss и еmergency_ready =True .

 
granit77:
c0d3:

Ладно, но с самого начала у советника убыток, наверно надо ждать некоторое время, а потом проверять если советник в убытке? А иначе, EmergencyExit будет всёгда активным. Еще один вопрос, если EmergencyExit включается, прибыльные позиции удваиваются только раз?

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

1. Ввести внешнюю переменную extern int еmergency_loss=20, задающую размер лосса, при котором удваиваются позиции.

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

2. Ввести глобальную переменную-флаг для контроля количества операций удвоения: bool еmergency_ready =True.

3. Создать функцию void EmergencyExit(), в которой в цикле проверить профит открытых позиций, открыть дополнительные позиции в направлении профитных и обнулять значение флага. Можно вместо усиления профитных позиций залокировать убыточные, это может экономить маржу в некоторых ДЦ.

4. Вызвать EmergencyExit(), если текущее время больше заданного времени проверки, и totalprofit <= -еmergency_loss .

скоро будет, готова

 
c0d3:

скоро будет, готова

Немного отредактировал техзадание.

Причина обращения: