슈퍼트렌드 이동 중지 손실 취득 전략

저자:차오장, 날짜: 2024-01-08 16:24:03
태그:

img

전반적인 설명

슈퍼트렌드 이동 스톱 손실 수익 전략은 슈퍼트렌드 지표에 기반한 양적 거래 전략이다. 전략은 스톱 손실과 이동 취득을 구현하기 위해 길고 짧은 입출장 조건을 구성합니다. 전략의 장점은 지속적인 트렌드에서 더 높은 수익을 얻을 수 있으며, 이동 취득을 통해 대부분의 이익을 잠금 할 수 있다는 것입니다. 그러나 전략은 또한 브레이크아웃 실패에 민감합니다.

전략 논리

이 전략은 슈퍼트렌드 지표에 기반한 트렌드 다음 전략이다. 슈퍼트렌드 지표는 가격 트렌드의 방향을 결정할 수 있다. 슈퍼트렌드 라인이 0선을 넘을 때 구매 및 판매 신호를 생성한다. 구체적으로, 슈퍼트렌드 라인이 0선을 넘을 때 구매 신호가 생성된다; 라인이 0선을 넘을 때 판매 신호가 생성된다. 폐쇄 가격과 전날의 폐쇄 가격 사이의 비율은 이동 수익점 (moving take profit point) 을 결정한다. ATR은 손실점을 결정한다. 따라서, 트렌드 방향을 결정하기 위해 슈퍼트렌드 지표에 기반하여 이동 수익점 (moving take profit stop loss strategy) 이 구성된다.

이점 분석

이 전략의 가장 큰 장점은 트렌드 식별과 이동 수익을 조합하는 것입니다. 슈퍼 트렌드 지표는 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)    

더 많은