이 전략은 가격이 슈퍼 트렌드 지표에 의해 형성 된 상승 추세 / 하락 추세 채널에서 벗어날 때 거래 신호를 생성합니다. 전략은 뛰어난 추세를 따르는 능력을 가지고 있습니다.
이 전략은 먼저 가격 변동성의 척도로 ATR 지표를 계산하고, 그 다음 최고, 최저 및 폐쇄 가격의 평균과 결합하여 상부 및 하부 대역을 계산합니다. 상승 추세 중 하부 대역을 넘어서면 구매 신호가 생성됩니다. 하향 추세 중 상부 대역을 넘어서면 판매 신호가 유발됩니다. 이것은 가격 추세를 추적하는 적응성 상승 / 하향 채널을 형성합니다.
시장에 진입 한 후 전략은 목표 수익 틱과 스톱 로스 틱을 설정합니다. 가격이 이익 목표에 도달하면 수익을 위해 포지션을 닫고 마감이 스톱 로스 수준에 도달하면 중단됩니다.
이 전략의 가장 큰 장점은 우수한 트렌드 추적 능력이다. 적응 채널은 트렌드 변화를 빠르게 파악할 수 있다. ATR을 사용하면 동력과 함께 거래의 어느 정도 확신을 얻을 수 있다. 또한, 이윤 목표와 스톱 로스 메커니즘은 명확한 리스크/어워드 컨트롤을 제공한다.
주요 위험 중 하나는 가격이 지속적으로 대역을 뚫고 있기 때문에 범위 제한 시장에서 과도한 윙스를 유발할 수 있다는 것입니다. 또한 스톱 로스 설정은 최종 결과에 직접적으로 영향을 미칩니다.
이러한 위험을 줄이기 위해, ATR 기간이나 채널 곱셈자 같은 매개 변수는 실제 추세에 더 잘 맞게 최적화 될 수 있습니다. 또한 다른 필터가 입력 신호에 추가되어 윙사브를 피할 수 있습니다.
이 전략은 몇 가지 측면에서 향상될 수 있습니다.
실제 변동성 역학을 더 잘 반영하기 위해 ATR 매개 변수를 최적화합니다.
채널 너비 최적화를 위해 다양한 곱셈을 테스트합니다.
더 나은 시기를 위해 항목에 다른 지표를 필터로 추가하십시오. 예를 들어 MACD.
수익 목표를 최적화하고 위험 조정 수익을 극대화하기 위해 손해를 멈추는 수준을 높여줍니다.
전체적인 품질을 평가하기 위해 샤프 비율이나 이윤 요인 같은 다른 목표를 고려하십시오.
이 전략은 적응 채널 브레이크아웃 모델을 활용하여 큰 트렌드 다음 능력을 달성합니다. 또한 명확한 리스크 제어 메커니즘을 갖추고 있습니다. 추가 매개 변수 조정 및 논리 향상으로 다양한 시장 조건과 자산 클래스에서 더욱 잘 작동 할 가능성이 있습니다.
/*backtest start: 2024-02-26 00:00:00 end: 2024-02-26 20:20:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Strategy", overlay=true) // Input parameters atr_length = input.int(10, title="ATR Length") multiplier = input.float(3.0, title="Multiplier") target_points = input.int(100, title="Target Points") stop_loss_points = input.int(50, title="Stop Loss Points") // Calculate ATR and Supertrend atr = ta.atr(atr_length) upper_band = hlc3 + (multiplier * atr) lower_band = hlc3 - (multiplier * atr) is_uptrend = close > lower_band is_downtrend = close < upper_band trend_changed = (is_uptrend[1] and is_downtrend) or (is_downtrend[1] and is_uptrend) // Strategy logic long_condition = is_uptrend and trend_changed short_condition = is_downtrend and trend_changed // Plot Supertrend plot(is_uptrend ? lower_band : na, color=color.green, title="Supertrend Up", style=plot.style_linebr) plot(is_downtrend ? upper_band : na, color=color.red, title="Supertrend Down", style=plot.style_linebr) // Strategy entry and exit if long_condition strategy.entry("Long", strategy.long) if short_condition strategy.entry("Short", strategy.short) // Calculate target and stop loss levels long_target = strategy.position_avg_price + target_points long_stop_loss = strategy.position_avg_price - stop_loss_points short_target = strategy.position_avg_price - target_points short_stop_loss = strategy.position_avg_price + stop_loss_points // Strategy exit strategy.exit("Long Exit", "Long", limit=long_target, stop=long_stop_loss) strategy.exit("Short Exit", "Short", limit=short_target, stop=short_stop_loss)