이 전략은 촛불 패턴 분석과 가격 동력 특성을 결합한 14 기간 기하급수적 이동 평균 (EMA) 을 기반으로 한 거래 시스템입니다. 이 전략은 시장 트렌드 반전 지점을 파악하기 위해 가격-EMA 크로스오버 및 촛불 형성 특징 (체-비크 비율과 같은) 을 분석하여 거래 신호를 식별합니다.
핵심 논리는 몇 가지 핵심 요소에 기반합니다.
이 전략은 EMA, 촛불 패턴 및 가격 액션 분석을 통합하여 포괄적인 거래 시스템을 구축합니다. 시장 조건이 전략 성능에 크게 영향을 미치기는 하지만 엄격한 신호 확인과 포괄적인 위험 통제에 강점이 있습니다. 제안된 최적화 방향을 통해 전략의 안정성과 적응력이 더욱 향상 될 수 있습니다.
/*backtest start: 2024-11-19 00:00:00 end: 2024-12-18 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("Buy and Sell Signals with EMA", overlay=true) // Define the 14-period EMA ema14 = ta.ema(close, 14) // --- Buy Conditions --- ema_length = input.int(14, title="EMA Length") // Calculate the 14 EMA ema_14 = ta.ema(close, ema_length) // Calculate the candle body and wicks body = close - open upper_wick = high - close lower_wick = open - low total_candle_length = high - low // Define the condition for the candle to be green (bullish) is_green_candle = close > open // Condition for crossing the 14 EMA (previous close was below, current close is above) crossing_ema = ta.crossover(close, ema_14) // Condition for at least 50% of the candle's body crossing the 14 EMA body_crossed_ema = (close - open) * 0.5 <= (close - ema_14) and close > ema_14 // Condition for wick percent being less than or equal to 40% of the total candle length wick_percent = (upper_wick + lower_wick) / total_candle_length valid_wick_condition = wick_percent <= 0.4 // Define the buy condition buy_condition = is_green_candle and crossing_ema and body_crossed_ema and valid_wick_condition // --- Sell Conditions --- candleIsRed = close < open priceBelowEMA = close < ema14 prevLowAboveEMA = low[1] > ema14[1] // Previous candle's low must be above the EMA wickTooLarge = (low - math.min(open, close)) / (high - low) <= 0.2 // Lower wick should not exceed 20% // Sell signal condition sellSignal = priceBelowEMA and candleIsRed and prevLowAboveEMA and wickTooLarge // --- Plotting --- plot(ema14, color=color.blue, linewidth=2, title="14-period EMA") // Plot the 14-period EMA // Plot the buy signal as an arrow on the chart plotshape(buy_condition, color=color.green, style=shape.labelup, location=location.belowbar, text="BUY") // Plot the sell signal as an arrow on the chart plotshape(sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL") // Optional: Add strategies for backtesting if (buy_condition) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.entry("Sell", strategy.short)