이 문서에서는
트렌드 식별: 단기 트렌드 방향을 결정하기 위해 5 기간 및 15 기간 EMA 크로스오버를 사용합니다. 단기 EMA가 장기 EMA를 넘을 때 상승 추세가 확인됩니다. 반대로 하락 추세가 확인됩니다.
리스크 관리: 시장의 변동성에 적응하기 위해 5개 기간 ATR을 기반으로 동적 스톱 로스 및 리프트 테이크 레벨을 설정합니다.
입국 조건:
출구 조건: ATR에 기초하여 설정된 동적 스톱 로스 (stop loss) 또는 영업 취득 수준에 도달합니다.
다차원 분석: 트렌드, 추진력 및 변동성 지표를 결합하여 포괄적인 시장 평가를 수행하여 거래 정확성을 향상시킵니다.
리스크 제어: 동적 스톱 로스 및 리프트 취득 메커니즘은 시장 변동성에 따라 자동으로 조정되며 효과적으로 리스크를 제어합니다.
높은 수익 잠재력: 수익을 증폭시키기 위해 높은 레버리지를 사용하며, 더 높은 위험 용도를 가진 거래자에게 적합합니다.
적응력: ATR 기반의 위험 관리로 전략이 다른 시장 환경에 적응할 수 있습니다.
명확한 거래 신호: 여러 지표가 함께 작동하면 명확한 입출 신호를 제공하여 주관적 판단을 줄입니다.
가짜 브레이크오프 위험: 단기 EMA 크로스오버는 잘못된 신호를 생성하여 빈번한 거래 및 불필요한 거래 비용을 초래할 수 있습니다.
트렌드 역전 위험: 강한 트렌드 시장에서, RSI는 전략 성과에 영향을 미치는 연장 기간 동안 과반 구매 또는 과반 판매 상태에서 남아있을 수 있습니다.
시장 변동성 위험: 매우 변동적인 시장에서 ATR 기반의 스톱 로스는 너무 넓어 단일 거래 위험을 증가시킬 수 있습니다.
시스템적 위험: 여러 지표에 의존하는 복잡한 전략은 하나의 지표가 실패하면 전반적인 성능이 떨어질 수 있습니다.
매개 변수 최적화: 다른 시장 주기에 적응하기 위해 백테스팅을 통해 EMA, RSI, MACD 및 ATR의 매개 변수를 정렬합니다.
시간 필터링: 높은 변동성 또는 낮은 유동성 기간을 피하기 위해 거래 시간 창 제한을 추가합니다.
트렌드 강도 평가: ADX와 같은 트렌드 강도 지표를 통합하여 강한 트렌드 시장에서만 포지션을 개척하여 승률을 향상시킵니다.
멀티 타임프레임 분석: 더 긴 기간 지표를 결합하여 더 큰 추세를 확인하여 거래 방향의 정확성을 향상시킵니다.
리스크 노출 관리: 전체 리스크를 제어하기 위해 허용 가능한 최대 손실 금액과 최대 지점 크기를 설정합니다.
/*backtest start: 2023-06-21 00:00:00 end: 2023-12-10 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("High Leverage Scalping Strategy", overlay=true) // Parameters shortEmaLength = input.int(5, minval=1, title="Short EMA Length") longEmaLength = input.int(15, minval=1, title="Long EMA Length") rsiLength = input.int(7, minval=1, title="RSI Length") rsiOverbought = input.int(80, minval=50, maxval=100, title="RSI Overbought Level") rsiOversold = input.int(20, minval=0, maxval=50, title="RSI Oversold Level") macdFastLength = input.int(6, minval=1, title="MACD Fast Length") macdSlowLength = input.int(13, minval=1, title="MACD Slow Length") macdSignalSmoothing = input.int(5, minval=1, title="MACD Signal Smoothing") atrLength = input.int(5, minval=1, title="ATR Length") atrMultiplier = input.float(1.5, minval=0.1, title="ATR Multiplier") // Indicators shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) rsi = ta.rsi(close, rsiLength) [macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalSmoothing) atr = ta.atr(atrLength) // Conditions longCondition = ta.crossover(shortEma, longEma) and rsi < rsiOverbought and macdLine > signalLine shortCondition = ta.crossunder(shortEma, longEma) and rsi > rsiOversold and macdLine < signalLine // Dynamic stop-loss and take-profit levels longStopLoss = close - (atr * atrMultiplier) longTakeProfit = close + (atr * atrMultiplier) shortStopLoss = close + (atr * atrMultiplier) shortTakeProfit = close - (atr * atrMultiplier) // Long Entry if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit/Stop Loss", from_entry="Long", limit=longTakeProfit, stop=longStopLoss) // Short Entry if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit/Stop Loss", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss) // Plotting plot(shortEma, color=color.blue, title="Short EMA") plot(longEma, color=color.red, title="Long EMA") hline(rsiOverbought, "Overbought Level", color=color.red) hline(rsiOversold, "Oversold Level", color=color.green) plot(macdLine, color=color.green, title="MACD Line") plot(signalLine, color=color.red, title="Signal Line") plot(atr, color=color.purple, title="ATR")