이 전략은 ATR 채널과 브레이크아웃 이론을 활용하여 채널이 깨질 때 트렌드를 추적합니다. 트렌드를 따르는 전략에 속합니다. 이 전략은 간단하고 이해하기 쉽습니다. 이동 평균 채널과 ATR 지표를 사용하여 트렌드 방향을 결정하고 주요 지점에서 거래 신호를 발산합니다.
이 전략은 ATR 채널을 형성하기 위해 높은, 낮은, 가까운 가격과 ATR 지표를 가진 상위 및 하위 밴드를 구성합니다. 채널 폭은 ATR 매개 변수 크기로 결정됩니다. 가격이 채널을 통과 할 때, 그것은 트렌드의 시작으로 판단되며, 그 지점에는 긴 또는 짧은 포지션이 입력됩니다. 전략에는 두 계층의 거래 신호가 있습니다. 가격이 한 ATR 폭을 통과 할 때, 그것은 구매 / 판매 포인트의 첫 번째 계층을 유발하는 신흥 트렌드로 간주됩니다. 가격이 두 ATR 폭을 통과 할 때, 그것은 구매 / 판매 포인트의 두 번째 계층을 유발하는 가속 트렌드로 간주됩니다.
이 전략의 주요 장점은 다음과 같습니다.
이 전략의 주요 위험은 다음과 같습니다.
이 전략의 최적화 방향은 다음과 같습니다.
이 전략의 전반적인 틀은 명확하고 개념의 증명으로 사용할 수 있습니다. 그러나 실질적인 최적화를 허용하는 라이브 거래에서 격차가 있습니다. 위험 통제 및 거래 빈도가 추가로 개선 될 수 있다면 응용 전망이 좋을 것입니다.
/*backtest start: 2023-12-03 00:00:00 end: 2024-01-02 00:00:00 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/ // © Myhaj_Lito //@version=5 strategy("Renko Trend Strategy",shorttitle = "RENKO-Trend str.",overlay = true) TF = input.timeframe(title='TimeFrame', defval="60") ATRlength = input.int(title="ATR length", defval=60, minval=2, maxval=1000) HIGH = request.security(syminfo.tickerid, TF, high) LOW = request.security(syminfo.tickerid, TF, low) CLOSE = request.security(syminfo.tickerid, TF, close) ATR = request.security(syminfo.tickerid, TF, ta.atr(ATRlength)) RENKOUP = float(na) RENKODN = float(na) H = float(na) COLOR = color(na) BUY = int(na) SELL = int(na) UP = bool(na) DN = bool(na) CHANGE = bool(na) RENKOUP := na(RENKOUP[1]) ? (HIGH + LOW) / 2 + ATR / 2 : RENKOUP[1] RENKODN := na(RENKOUP[1]) ? (HIGH + LOW) / 2 - ATR / 2 : RENKODN[1] H := na(RENKOUP[1]) or na(RENKODN[1]) ? RENKOUP - RENKODN : RENKOUP[1] - RENKODN[1] COLOR := na(COLOR[1]) ? color.white : COLOR[1] BUY := na(BUY[1]) ? 0 : BUY[1] SELL := na(SELL[1]) ? 0 : SELL[1] UP := false DN := false CHANGE := false // calculating if not CHANGE and close >= RENKOUP[1] + H * 2 CHANGE := true UP := true RENKOUP := RENKOUP[1] + ATR * 2 RENKODN := RENKOUP[1] + ATR COLOR := color.rgb(0, 255, 170,60) SELL := 0 BUY += 2 BUY if not CHANGE and close >= RENKOUP[1] + H CHANGE := true UP := true RENKOUP := RENKOUP[1] + ATR RENKODN := RENKOUP[1] COLOR := color.rgb(0, 230, 38,60) SELL := 0 BUY += 1 BUY if not CHANGE and close <= RENKODN[1] - H * 2 CHANGE := true DN := true RENKODN := RENKODN[1] - ATR * 2 RENKOUP := RENKODN[1] - ATR COLOR := color.rgb(255, 92, 43,60) BUY := 0 SELL += 2 SELL if not CHANGE and close <= RENKODN[1] - H CHANGE := true DN := true RENKODN := RENKODN[1] - ATR RENKOUP := RENKODN[1] COLOR := color.rgb(245, 69, 69,60) BUY := 0 SELL += 1 SELL //// STRATEGY if(UP) strategy.entry("Long",strategy.long) if(DN) strategy.entry("Short",strategy.short) // ploting bgcolor(COLOR)