Стратегия получения прибыли Beyond Trailing Stop


Дата создания: 2024-01-08 16:24:03 Последнее изменение: 2024-01-08 16:24:03
Копировать: 0 Количество просмотров: 717
1
Подписаться
1617
Подписчики

Стратегия получения прибыли Beyond Trailing Stop

Обзор

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

Стратегический принцип

Эта стратегия основана на трендовом типе стратегии, основанной на превышении показателя. Превышение показателя позволяет определить направление ценового тренда. Когда изменяется направление показателя, это создает сигналы покупки и продажи.

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

Наибольшее преимущество этой стратегии заключается в сочетании трендового суждения и движущихся стопов. Превышение показателя для определения направления тренда путем прорыва вниз по 0-й оси позволяет более точно улавливать тренд.

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

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

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

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

Подвести итог

Стратегия превышения мобильной стоп-прибыли в целом является хорошей стратегией отслеживания тенденций. Она может разумно судить о направлении тенденции и имеет механизм мобильной остановки. Однако эта стратегия также более чувствительна к прорывным сбоям и имеет определенный риск.

Исходный код стратегии
/*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)