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

Автор:Чао Чжан, Дата: 2024-01-08 16:24:03
Тэги:

img

Обзор

Стратегия Supertrend Moving Stop Loss Take Profit является количественной торговой стратегией, основанной на индикаторе Supertrend. Стратегия строит длинные и короткие условия входа и выхода для реализации стоп-лосса и движения прибыли. Преимущество стратегии заключается в том, что она может достигать более высокой прибыли в устойчивых тенденциях, при этом блокируя большую часть прибыли через движение прибыли.

Логика стратегии

Эта стратегия - это стратегия, основанная на индикаторе супертенденции. Индикатор супертенденции может определять направление ценового тренда. Он генерирует сигналы покупки и продажи, когда линия супертенденции пересекает линию 0. В частности, сигнал покупки генерируется, когда линия супертенденции пересекает линию 0, сигнал продажи генерируется, когда линия пересекает линию 0. Соотношение между ценой закрытия и ценой закрытия предыдущего дня определяет движущуюся точку получения прибыли. ATR определяет точку остановки потери. Таким образом, на основе индикатора супертенденции построена движущаяся стратегия получения прибыли для определения направления тренда.

Анализ преимуществ

Наибольшее преимущество этой стратегии заключается в сочетании идентификации тренда и движения прибыли. Индикатор Supertrend может достаточно точно улавливать тенденции с помощью кроссоверов с 0-линией. Движение прибыли позволяет блокировать большую часть прибыли, пока тенденция сохраняется. Настройка стоп-лосса также помогает контролировать риски. Таким образом, стратегия может достигать более высокой прибыли на очевидных трендовых рынках. Кроме того, простая и ясная логика также является преимуществом стратегии.

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

Наибольший риск этой стратегии заключается в ее чувствительности к неудачам прорыва. В периоды, связанные с диапазоном, индикатор Supertrend может генерировать ложные прорывы, что приводит к неправильно установленным позициям. Это может легко привести к тому, что вы попадете в ловушку. Кроме того, движущийся механизм получения прибыли может выйти из позиций слишком рано, пропустив последующие ходы. Наконец, неправильные настройки стоп-лосса также могут быть слишком свободными или слишком агрессивными, повышая риски. Таким образом, это области, от которых стратегия должна остерегаться.

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

Стратегия может быть оптимизирована из следующих аспектов: 1) Разумно определить параметры супертенденции, чтобы избежать ложных сигналов; 2) Добавить механизмы для оценки надежности прорыва, такие как сигналы объема; 3) Оптимизировать параметры движения, чтобы уменьшить возможность получения прибыли, обеспечивая при этом рентабельность; 4) Использовать динамические остановки, основанные на волатильности, вместо статических остановок; 5) Добавить другие индикаторы для стратегий ансамбля для повышения надежности.

Заключение

В целом, стратегия Supertrend Moving Stop Loss Take Profit - это хорошая стратегия, следующая за трендом. Она может разумно определить направление тренда и имеет движущийся механизм получения прибыли. Но она также чувствительна к недействительным прорывам и имеет некоторые риски. Дальнейшая оптимизация параметров, правил суждения, механизмов остановки и т. Д. может улучшить стратегию и сделать ее стабильной и эффективной торговой стратегией.


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ST Michael Moving TP", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15)

// Stop loss and profit amount
stop_loss = input(1500, title="Stop Loss Amount")
profit = input (15000, title="Profit Amount")
LongTrailProfit = input (0.91, title = "Long Trailing Profit Taking")
ShortTrailProfit = input (1.01, title = "Short Trailing Profit Taking")

atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

long_condition = ta.change(direction) <0
short_condition = ta.change(direction) >0


stop_price_long = ta.valuewhen(long_condition, low[0]-stop_loss,0)
profit_price_long = ta.valuewhen(long_condition, high[0]+profit,0)
stop_price_short = ta.valuewhen(short_condition, high[0]+stop_loss,0)
profit_price_short = ta.valuewhen(short_condition, low[0]-profit,0)

atr=ta.atr(10)

intrade_long = strategy.position_size > 0
intrade_short = strategy.position_size < 0
exitConditionLong = (close < (close[1]*LongTrailProfit)) 
exitConditionShort = (close > (close[1]*ShortTrailProfit))

if (long_condition)
    strategy.entry("Long3", strategy.long)
if (intrade_long and exitConditionLong)
    strategy.close("Long3")

if (short_condition)
    strategy.entry("Short3", strategy.short)
if (intrade_short and exitConditionShort)
    strategy.close ("Short3")

if (strategy.position_size>0)
    strategy.exit("exit_long",from_entry="Long3",limit=profit_price_long,stop=stop_price_long)

if (strategy.position_size<0)
    strategy.exit("exit_short",from_entry="Short3",limit=profit_price_short,stop=stop_price_short)    

Больше