ALEX-BAX

Активный участник
Предлагаю следующий вариант открытия компенсирующего ордера
Ордера открываются обьемом ChokeLotPercent как % от просевшего портфельного объема и по времени ChokeTradeTime начала часовой свечи.
При условии:
ChokeDD1 - первый минимальный % просадки
Повторный компенсатор открывается при условии что прасадка увеличилась до
ChokeDD2 - второй минимальный % просадки
Третий компенсатор открывается при условии что прасадка увеличилась до
ChokeDD3 - третий минимальный % просадки
Закрываются по ChokeTP либо со всем портфелем отрытых ордеров если
CloseWithChoke = True; // True - Ордера компенсаторов закрываются вместе с основными.
Как то так.
 

dpg03

Элитный участник
При условии:
ChokeDD1 - первый минимальный % просадки
Повторный компенсатор открывается при условии что прасадка увеличилась до
ChokeDD2 - второй минимальный % просадки
Третий компенсатор открывается при условии что прасадка увеличилась до
ChokeDD3 - третий минимальный % просадки
Если просадка увеличится, то она будет и так больше ChokeDD1 = 3. Значится опять откроется компенсатор. Т.е. сов будет всегда контролировать все уровни (DD2 = 5, DD3 = 7, DD4 = 10 и т.д) просадки относительно самой маленькой DD1=3.
Или я чего то не догнал.*hi*
 
Последнее редактирование:

ALEX-BAX

Активный участник
Если просадка увеличится, то она будет и так больше ChokeDD1 = 3. Значится опять откроется компенсатор. Т.е. сов будет всегда контролировать все уровни (DD2 = 5, DD3 = 7, DD4 = 10 и т.д) просадки относительно самой маленькой DD1=3.
Или я чего то не догнал.*hi*

Оно то так , да немного не так .
В твоём случае повторно компенсатор откроется если просадка будет больше ChokeDD1 = 3 т.е. больше 3% , а в моём случае повторно компенсатор откроется если просадка будет больше ChokeDD2 = 5 т.е. больше 5% .
Значит он не может открыться повторно если просадка не увеличится , а в твоём случае он будет открываться постоянно ( тем самым увеличивая просадку , увеличивая нагрузку на депозит ) но не подтягивая ТР .
 

dpg03

Элитный участник
а в твоём случае он будет открываться постоянно ( тем самым увеличивая просадку , увеличивая нагрузку на депозит ) но не подтягивая ТР .
Если закроется по ТР компенсатора то, просадка уменьшится и комп. не откроется.
Если закроется по ТР портфеля, то закроются все ордера . Потеряем 3%. Открытых ордеров не будет. Не будет и просадки.
Какие есть еще варианты ?
 

ALEX-BAX

Активный участник
Если закроется по ТР компенсатора то, просадка уменьшится и комп. не откроется.
Если закроется по ТР портфеля, то закроются все ордера . Потеряем 3%. Открытых ордеров не будет. Не будет и просадки.
Какие есть еще варианты ?

С первым вариантом " Если закроется по ТР компенсатора то, просадка уменьшится и комп. не откроется. " - согласен на половину так как просадка уменьшится но не исчезнет , а если тренд - так и будем временно уменьшать просадку???
Я больше склоняюсь ко второму варианту , но в нём для того , чтобы подтянуть ТР портфеля как можно ближе к текущей цене нужно будет открывать компенсатор весьма большим лотом , а если флет и просадка будет болтаться в пределах 3% +- , соответственно компенсатор будет открываться при каждом пересечении 3% просадки и вот пришёл тренд и ...
 

dpg03

Элитный участник
С первым вариантом " Если закроется по ТР компенсатора то, просадка уменьшится и комп. не откроется. " - согласен на половину так как просадка уменьшится но не исчезнет , а если тренд - так и будем временно уменьшать просадку???
Я больше склоняюсь ко второму варианту , но в нём для того , чтобы подтянуть ТР портфеля как можно ближе к текущей цене нужно будет открывать компенсатор весьма большим лотом , а если флет и просадка будет болтаться в пределах 3% +- , соответственно компенсатор будет открываться при каждом пересечении 3% просадки и вот пришёл тренд и ...
Так и будет. Поболтается и закроется по своему ТП или портфельному ТП. Значится надо ограничится одним открытием компенсатора. Пока он не закроется, другой не открывается.
 

ALEX-BAX

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

Возможно.Но хотелось бы попробовать оба варианта.
 

dpg03

Элитный участник
Возможно.Но хотелось бы попробовать оба варианта.
Два варианта, так два.
Убираем extern double KM = 100; // коэффициент увеличения лота (Multiplier) ?
Он увеличивает лоты КМ не так как надо. Т.е. если сессионный первый выставился объемом 0.01, то первый КМ = 1, второй = 100, третий = 10 00 и т.д.
 
Последнее редактирование:

ALEX-BAX

Активный участник
Два варианта, так два.
Убираем extern double KM = 100; // коэффициент увеличения лота (Multiplier) ?
Он увеличивает лоты КМ не так как надо. Т.е. если сессионный первый выставился объемом 0.01, то первый КМ = 1, второй = 100, третий = 10 00 и т.д.

Если убрать extern double KM = 100; // коэффициент увеличения лота (Multiplier) , то как тогда будет расчитываться лот КМ?
 

dpg03

Элитный участник
Если убрать extern double KM = 100; // коэффициент увеличения лота (Multiplier) , то как тогда будет расчитываться лот КМ?
Владимир озадачен. Обещался придумать.
Объем просевшего портфеля известен. Профит КМ известен. Расстояние между профитами портфеля и ТП КМ тоже есть. Все есть. Посмотрим как получится.
 

ALEX-BAX

Активный участник
Владимир озадачен. Обещался придумать.
Объем просевшего портфеля известен. Профит КМ известен. Расстояние между профитами портфеля и ТП КМ тоже есть. Все есть. Посмотрим как получится.

А если сделать чтобы лот рассчитывался таким образом что бы его объёма хватило вывести в безубыток открытые ордера этого же направления . И независимо от TakeProfit (1,2,3,4,5,6,7,8)=хх , портфельный TakeProfit + ТРКМ = 6-10пп . Причём объём должен быть минимальным для выполнения данного условия.
 

dpg03

Элитный участник
А если сделать чтобы лот рассчитывался таким образом что бы его объёма хватило вывести в безубыток открытые ордера этого же направления . И независимо от TakeProfit (1,2,3,4,5,6,7,8)=хх , портфельный TakeProfit + ТРКМ = 6-10пп . Причём объём должен быть минимальным для выполнения данного условия.
Я и рассчитываю, что объем получится минимальным для выполнения этого условия.
 
Последнее редактирование:

ALEX-BAX

Активный участник
Я и рассчитываю, что объем получится минимальным для выполнения этого условия.

Я думаю неободимо ввести параметр ТР_порфельный для расчета лота компенсатора. К примеру ТР_п=6 тогда лот КМ=0.10, а если ТР_п=10, тогда и лот КМ будет = 0.05 (значения сометник должен расчитовать исходя из обьема просевших ордеров и значения ТР_п=?).
 

dpg03

Элитный участник
Я думаю неободимо ввести параметр ТР_порфельный для расчета лота компенсатора. К примеру ТР_п=6 тогда лот КМ=0.10, а если ТР_п=10, тогда и лот КМ будет = 0.05 (значения сометник должен расчитовать исходя из обьема просевших ордеров и значения ТР_п=?).
Логично. Как это будет работать?
Открылся первый сессионный sell объемом 0.01 и 1sellTP = 5. Просел. Открылся второй 2sell, с ТР_п = 5 от безубытка и объемом Х ? Х по какой формуле высчитывать ? По той же что и ТРКМ ? Нужна помощь клуба :D:D
Тогда можно убрать все TakeProfit1, 2 и т.д. И открывать любой первый сессионный ордер buy или sell с фиксированным профитом для всех сессий GeneralТР . и от него вести отсчет для ТР_п, потом до ТР_км. В таком случае сов еще больше сократится и алгоритм тоже. Где просто там всегда надежно.:D
И убрать все сессии. Оставить только одно время TimeSession для выставления двух BuyStop и SellStop с ТР_п. Ввести время выставления КМ TimeКМ с ТР_км. Дальше как описано выше.
 
Последнее редактирование:

ALEX-BAX

Активный участник
Логично. Как это будет работать?
Открылся первый сессионный sell объемом 0.01 и 1sellTP = 5. Просел. Открылся второй 2sell, с ТР_п = 5 от безубытка и объемом Х ? Х по какой формуле высчитывать ? По той же что и ТРКМ ? Нужна помощь клуба :D:D
Тогда можно убрать все TakeProfit1, 2 и т.д. И открывать любой первый сессионный ордер buy или sell с фиксированным профитом для всех сессий GeneralТР . и от него вести отсчет для ТР_п, потом до ТР_км. В таком случае сов еще больше сократится и алгоритм тоже. Где просто там всегда надежно.:D
И убрать все сессии. Оставить только одно время TimeSession для выставления двух BuyStop и SellStop с ТР_п. Ввести время выставления КМ TimeКМ с ТР_км. Дальше как описано выше.

Ну что касается убрать все ТР то это пока рановато , да и нет смысла ( пока не будет опробованна эта система )
А вот вернуть функцию GeneralТР как было в BURNе 0.53 - это нужно. Да и реверс не помешал бы BuyStop и SellStop или BuyLimit и SellLimit-так как желательно проверить с какими отложками советник лучше будет работать,а мозможно и с обоими (например Stopовые = 5 и в этой же сессии Limitные = 15 от цены открытия).
Ну а что касается ТР_п - то должен работать (расчитываться) следующим образом:
Открылся 1 ордер с ТР=123, затем 2 ордер с ТР=123, затем 3,4 и так далее ордер с ТР=123 - общий ТР для этих ордеров считается как портфельный и он естественно находится на расстоянии ТР_п=123+-хх(пунктов). Теперь срабатывает ордер КМ с ТР=5 но обьём его должен быть таким , что бы ТР_п+ТР_КМ=6 тое сть (123+-хх(пп)+5)=6пп.
 
Последнее редактирование:

ALEX-BAX

Активный участник
dpg03 - глянь почту . проблемка с ТР_КМ - работает не правильно.
 

dpg03

Элитный участник
Хотим написать так:

Если Лот 1, не закрыся по ТР 1, то все последовательно открывающиеся ордера переходят в портфель из не закрывшихся ордеров с одним ТР от цены безубытка
Если портфель из лота1 и лота2 и т.д. не закрылись по портфельному профиту, то открывается через сутки во время Time_КМ лотКМ с ТР_КМ=5 от цены безубытка портфеля (Лот_1 + Лот_2 + т.д. + Лот_КМ)
Лоты одного направления.

Внешние настройки:

TimeSession_1 = 22; // время выставления первого лота

DeltaPrice1 = 5; //отступ от цены открытия сессии для открытия отложенных ордеров BuyLimit и SellLimit

Лот_1 = 0.01; // объем первого лота

ТР_1 = 100; // профит первого лота buy и sell
______________________________________________________

TimeSession_2 = 23; // время выставления второго лота

DeltaPrice2 = 5; //отступ от цены открытия сессии для открытия отложенных ордеров BuyLimit и SellLimit

ТР_2buy = 5; // профит портфеля (Лот_1buy + Лот_2buy) от цены безубытка buy.

ТР_2sell = 5; // профит портфеля (Лот_1sell + Лот_2sell) от цены безубытка sell.
_______________________________________________________

И т.д.
_______________________________________________________

LotKM = 3; // выставлять после этого сессионного ордера

DistanceKMsell = 75;// разрешенное (не меньше) расстояние в пунктах между открытым ордером KMsell и последующими выставляемыми отложниками КМsell.

DistanceKMbuy = 50;// разрешенное (не меньше) расстояние в пунктах между открытым ордером KMbuy и последующими
выставляемыми отложниками КМbuy

ТР_КМbuy = 5; // профит портфеля из ТР_1buy + ТР_2buy + ТР_КМbuy от уровня безубытка buy

ТР_КМsell = 5; // профит портфеля из ТР_1sell + ТР_2sell + ТР_КМsell от уровня безубытка


+ компенсатор.

Это основное в коде открытия ордеров и их сопровождение.

Как то так.
 
Последнее редактирование:

ALEX-BAX

Активный участник
Хотим написать так:

Если Лот 1, не закрыся по ТР 1, то все последовательно открывающиеся ордера переходят в портфель из не закрывшихся ордеров с одним ТР от цены безубытка
Если портфель из лота1 и лота2 и т.д. не закрылись по портфельному профиту, то открывается через сутки во время Time_КМ лотКМ с ТР_КМ=5 от цены безубытка портфеля (Лот_1 + Лот_2 + т.д. + Лот_КМ)
Лоты одного направления.

Внешние настройки:

TimeSession_1 = 22; // время выставления первого лота

Лот_1 = 0.01; // объем первого лота

ТР_1 = 100; // профит второго лота

TimeSession_2 = 23; // время выставления второго лота
ТР_2 = 5; // профит портфеля (Лот_1 + Лот_2) от цены безубытка.

И т.д.

Time_КМ = 22; // время выставления через 24 часа.

ТР_КМ = 5; // профит портфеля из ТР_1 + ТР_2 + ТР_КМ от уровня безубытка

Вместо
Time_КМ = 22; // время выставления через 24 часа.
лучше оставить
LotKM = 3; // выставлять после этого ордера c KM
А
Time_КМ = 22; // время выставления через 24 часа.
это будет компенсатор по мремени
ChokeTradeTime = 7; // Время открытия компенсатора. -1 - время не задано
 

dpg03

Элитный участник
Вместо
Time_КМ = 22; // время выставления через 24 часа.
лучше оставить
LotKM = 3; // выставлять после этого ордера c KM
А
Time_КМ = 22; // время выставления через 24 часа.
это будет компенсатор по времени
ChokeTradeTime = 7; // Время открытия компенсатора. -1 - время не задано
Согласен: LotKM = 3; // выставлять после этого ордера c KM
Это лишнее: Time_КМ = 22; // время выставления через 24 часа. Выставится во время сессий через сутки. Как было. Хотя ...
Это лишнее: ChokeTradeTime = 7; // Время открытия компенсатора. -1 - время не задано. Решили же выставлять сразу по проценту просадки не зависимо от времени.
 
Последнее редактирование:

ALEX-BAX

Активный участник
Согласен: LotKM = 3; // выставлять после этого ордера c KM
Это лишнее: Time_КМ = 22; // время выставления через 24 часа. Выставится во время сессий через сутки. Как было. Хотя ...
Это лишнее: ChokeTradeTime = 7; // Время открытия компенсатора. -1 - время не задано. Решили же выставлять сразу по проценту просадки не зависимо от времени.

То есть без компенсатора по времени ?
Остаётся только LotKM который выставляется по параметрам и во время сессии с ТР=5 .
 
Верх