В процессе загрузки ресурсов... загрузка...

Сбалансированная стратегия торговли с адаптивным последующим снижением прибыли и стоп-лосом

Автор:Чао Чжан, Дата: 2024-12-12 14:25:36
Тэги:OCAГАП

img

Обзор

Эта стратегия является адаптивной торговой системой, основанной на разрывах и движениях цен, достигающей стабильной доходности через гибкие точки входа и динамические настройки take-profit / stop-loss.

Принципы стратегии

Стратегия действует через несколько основных механизмов:

  1. Механизм торговли разрывом: выявляет разрывы вверх и вниз, размещая ордера на остановку на уровнях разрыва
  2. Следование тренда: определяет направление тренда на основе взаимосвязи между ценами открытия и закрытия
  3. Пирамида: позволяет до 100 заказов в одном направлении
  4. Динамический TP/SL: устанавливает уровни получения прибыли и стоп-лосса динамически на основе средней цены позиции
  5. Управление ордерами ОСА: использует группы ордеров ОСА для обеспечения взаимной исключительности ордеров TP и SL
  6. Ограничения на внутридневную торговлю: контролирует риск посредством установки максимальных внутридневных выполненных ордеров

Преимущества стратегии

  1. Высокая адаптивность: стратегия автоматически корректирует направление торговли и размер позиции на основе рыночных условий
  2. Контролируемый риск: множество механизмов контроля риска, включая стоп-лосс, ордера OCA и внутридневные лимиты.
  3. Высокая гибкость: поддерживает пирамидизацию для получения большей прибыли на трендовых рынках
  4. Высокая эффективность исполнения: Использует стоп-ордера для быстрого формирования позиций на ключевых уровнях цен
  5. Высокая систематизация: полностью систематические торговые решения уменьшают эмоциональное вмешательство

Стратегические риски

  1. Риск сдвига: может возникнуть значительный сдвиг на быстро меняющихся рынках
  2. Риск переоценки: Частые входы и выходы могут привести к высоким затратам на транзакции
  3. Систематический риск: может привести к большим потерям на сильно волатильных рынках
  4. Риск управления капиталом: пирамида может привести к чрезмерному использованию капитала
  5. Технический риск: прерывания программы могут вызвать проблемы с управлением заказами

Направления оптимизации стратегии

  1. Включить индикаторы волатильности: динамически корректировать параметры TP/SL на основе волатильности рынка
  2. Оптимизировать механизм пирамиды: разработать более подробные правила размещения позиций, чтобы избежать чрезмерного использования капитала
  3. Улучшить контроль рисков: Добавить больше показателей контроля рисков, таких как максимальные пределы внутридневного использования
  4. Улучшить исполнение ордеров: оптимизировать механизм прогрессирования ордеров для уменьшения влияния скольжения
  5. Добавить анализ настроения рынка: оптимизировать сроки входа, включив объем и другие показатели

Резюме

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


/*backtest
start: 2024-12-04 00:00:00
end: 2024-12-11 00:00:00
period: 10m
basePeriod: 10m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Greedy Strategy - maclaurin", pyramiding = 100, calc_on_order_fills=false, overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
backtestStartDate = input(timestamp("1 Jan 1990"),
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " +
     "where the chart's instrument trades. It doesn't use the time " +
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("1 Jan 2023"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " +
     "where the chart's instrument trades. It doesn't use the time " +
     "zone of the chart or of your computer.")
inTradeWindow = true
tp = input(10)
sl = input(10)
maxidf = input(title="Max Intraday Filled Orders", defval=5)
// strategy.risk.max_intraday_filled_orders(maxidf)
upGap = open > high[1]
dnGap = open < low[1]
dn = strategy.position_size < 0 and open > close
up = strategy.position_size > 0 and open < close
if inTradeWindow and upGap
    strategy.entry("GapUp", strategy.long, stop = high[1])
else
    strategy.cancel("GapUp")
if inTradeWindow and dn
    strategy.entry("Dn", strategy.short, stop = close)
else
    strategy.cancel("Dn")
if inTradeWindow and dnGap
    strategy.entry("GapDn", strategy.short, stop = low[1])
else
    strategy.cancel("GapDn")
if inTradeWindow and up
    strategy.entry("Up", strategy.long, stop = close)
else
    strategy.cancel("Up")
XQty = strategy.position_size < 0 ? -strategy.position_size : strategy.position_size
dir = strategy.position_size < 0 ? -1 : 1
lmP = strategy.position_avg_price + dir*tp*syminfo.mintick
slP = strategy.position_avg_price - dir*sl*syminfo.mintick
float nav = na
revCond = strategy.position_size > 0 ? dnGap : (strategy.position_size < 0 ? upGap : false)
if inTradeWindow and not revCond and XQty > 0
    strategy.order("TP", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, lmP, nav, "TPSL",  "TPSL")
    strategy.order("SL", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, nav, slP, "TPSL", "TPSL")
if XQty == 0 or revCond
    strategy.cancel("TP")
    strategy.cancel("SL")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)


Связанные

Больше