Динамическая стратегия торговли прибылью

Автор:Чао Чжан, Дата: 2024-02-27 14:43:17
Тэги:

img

Обзор

В данной статье в основном представлена количественная стратегия торговли под названием Динамическая стратегия получения прибыли. Эта стратегия устанавливает динамическую линию получения прибыли на основе индикатора ATR для получения быстрой прибыли в течение 1-2 свечей после внезапного благоприятного движения цен, избегая потерь, когда цены снова поворачиваются.

Принципы

Торговая логика этой стратегии очень проста и ясна.

  1. Используйте перекресток 14-периодической SMA и 28-периодической SMA в качестве сигнала для длинного и короткого. Когда 14-периодическая SMA выходит выше 28-периодической SMA, перейдите в длинный. Когда 14-периодическая SMA выходит ниже 28-периодической SMA, перейдите в короткий.

  2. Вычислить индикатор ATR и умножить его на коэффициент, чтобы получить динамическую позицию прибыли. Например, установить длину ATR на 7, множитель на 1,5, тогда ширина динамического канала прибыли равна 1,5 раз 7-периодный ATR.

  3. Когда направление позиции длинное, сложите высокую цену и динамическую ширину канала прибыли, чтобы получить длинную линию прибыли.

  4. Как только цена превышает эту динамическую линию получения прибыли, вы можете получить прибыль в течение 1-2 бар после внезапного сильного движения цены.

С помощью вышеуказанных шагов эта стратегия достигает простого, но эффективного эффекта отслеживания прибыли и быстрого получения прибыли. Канал ATR обеспечивает динамическую возможность корректировки линии получения прибыли, в то время как недавно добавленное условие 1 бар гарантирует, что линия получения прибыли активируется только при внезапных благоприятных рыночных условиях. Это может эффективно уменьшить преждевременный выход из-за получения прибыли.

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

Динамическая стратегия торговли прибылью с последующим использованием имеет следующие преимущества:

  1. Идея проста и понятна, легко понять и реализовать, подходит для обучения новичков.

  2. Динамическая ATR может автоматически отслеживать прибыль и избегать оставления прибыли на столе.

  3. Добавление 1 бара высокого/низкого условия предотвращает получение прибыли от запуска на меньших ходах.

  4. Длина ATR и мультипликатор могут регулироваться с учетом степени получения прибыли.

  5. Может быстро выйти, чтобы захватить благоприятные движения цен.

  6. Высокоэкстенсируемая, простая внедрение других стратегий стоп-лосса/приобретения прибыли, основанных на этой структуре.

Анализ рисков

Эта стратегия также сопряжена с некоторыми рисками:

  1. Неожиданное увеличение ATR может привести к преждевременному выходу из прибыли.

  2. Не может эффективно отфильтровать рыночный шум, склонный к ложному сигналу.

  3. Опираться исключительно на перекрестное использование SMA для принятия решений, что неэффективно для сложных рыночных ситуаций.

  4. Нет механизма остановки убытков для эффективного ограничения потерь.

  5. Параметр по умолчанию может не соответствовать всем продуктам, необходима оптимизация.

Чтобы уменьшить вышеуказанные риски, мы можем оптимизировать следующие аспекты:

  1. Добавить правила фильтрации, основанные на других показателях для удаления ложных сигналов.

  2. Добавьте стратегии стоп-лосса, чтобы строго контролировать потери по сделке.

  3. Оптимизируйте параметры с помощью анализа ходьбы вперед.

  4. Отдельно оптимизируйте параметры для различных продуктов.

  5. Увеличьте модели машинного обучения для более умных решений.

Руководство по оптимизации

На основе анализа рисков направления оптимизации в основном включают:

  1. Добавить фильтр сигналаДобавьте фильтрующие правила, основанные на таких показателях, как MACD, Bollinger Band и т. д. после сигнала, чтобы избежать шума.

  2. Добавить линию остановки потериВ случае, если вы не можете получить информацию о результатах, вы должны указать, что вы не можете получить информацию о результатах, если вы не можете получить информацию о результатах.

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

  4. Настройка риска: Настройка размеров позиций, параметры риска на основе различных продуктов.

  5. Модель термоядерного синтезаКомбинируйте эту стратегию с машинным обучением, нейронными сетями для повышения точности.

  6. Ручное вмешательство: Разрешить ручное отключение уровней получения прибыли/остановки потерь в критические моменты.

При оптимизации в вышеуказанных направлениях рентабельность и стабильность стратегии могут быть значительно улучшены.

Заключение

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Peter_O

//@version=5
strategy("TrailingTakeProfit example", overlay=true, margin_long=100, margin_short=100, default_qty_value = 1, initial_capital = 100)

longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))

if longCondition
    strategy.entry("Long", strategy.long, comment="long", alert_message="long")
if shortCondition
    strategy.entry("Short", strategy.short, comment="short", alert_message="short")

atr_length=input.int(7, title="ATR Length")
atr_multiplier = input.float(1.5, title="ATR Multiplier")
atr_multiplied = atr_multiplier * ta.atr(atr_length)
ttp_top_bracket = strategy.position_size>0 ? high[1]+atr_multiplied : na
ttp_bottom_bracket = strategy.position_size<0 ? low[1]-atr_multiplied : na

plot(ttp_top_bracket, title="ttp_top_bracket", color=color.lime, style=plot.style_linebr, offset=1)
plot(ttp_bottom_bracket, title="ttp_bottom_bracket", color=color.red, style=plot.style_linebr, offset=1)

strategy.exit("closelong", from_entry="Long", limit=ttp_top_bracket, alert_message = "closelong")
strategy.exit("closeshort", from_entry="Short", limit=ttp_bottom_bracket, alert_message = "closeshort")

// var table alertsDisplayTable = table.new(position.top_right, 1, 5, color.black)
// if barstate.islastconfirmedhistory
//     table.cell(alertsDisplayTable, 0, 0, "TradingConnector-compatible alerts sent", text_color=color.white)
//     table.cell(alertsDisplayTable, 0, 1, "at Long Entry: long", text_color=color.white)
//     table.cell(alertsDisplayTable, 0, 2, "at Short Entry: short", text_color=color.white)
//     table.cell(alertsDisplayTable, 0, 3, "at Long Exit: closelong", text_color=color.white)
//     table.cell(alertsDisplayTable, 0, 4, "at Short Exit: closeshort", text_color=color.white)


Больше