이 전략은 13 및 21 기간 기하급수적 이동 평균 (EMA) 의 크로스오버를 기반으로 한 양적 거래 시스템입니다. 단기 및 장기 EMA 크로스오버를 관찰함으로써 시장 트렌드 변화를 식별하여 황금 십자가에서 긴 포지션과 죽음의 십자가에서 짧은 포지션을 생성합니다. 전략의 독특한 특징은 동적인 색상 변화, 시각 피드백을 향상시키고 거래자가 거래 신호를 더 직관적으로 식별하는 데 도움이됩니다.
핵심 논리는 서로 다른 기간을 가진 두 개의 EMA에 의존합니다: 13 기간 단기 EMA와 21 기간 장기 EMA. 단기 EMA가 장기 EMA를 넘을 때, 그것은 상승 추세 형성을 표시하고 구매 신호를 생성하는 황금 십자가를 형성합니다. 반대로, 단기 EMA가 장기 EMA를 넘을 때, 그것은 사망 십자가를 형성하여 하락 추세 형성을 표시하고 판매 신호를 생성합니다. 전략은 동적 색 표시를 사용하여 EMA 라인 색상을 변경합니다. 크로스오버 - 상승 신호를 위해 녹색, 하락 신호를 위해 빨간색, 트레이더가 시장 상황을 신속하게 평가하는 데 도움이되는 시각 피드백을 제공합니다.
동적 듀얼 EMA 크로스오버 양적 전략은 고전적인 기술 분석과 현대적인 시각화 기술을 결합한다. EMA 크로스오버를 통해 거래 신호를 생성하고 동적 색상 변화를 통해 시각 피드백을 향상시켜 거래 결정을 더 직관적으로 만든다. 내재된 위험이 존재하지만, 전략은 적절한 최적화와 위험 관리를 통해 효과적인 거래 도구가 될 수 있다. 트레이더들은 철저한 백테스팅을 실시하고 라이브 구현 전에 시장 조건과 개인적인 위험 관용에 기반한 전략 매개 변수를 조정하는 것이 좋습니다.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-03 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Strategy by clf", overlay=true) // Input parameters for EMAs shortEmaLength = input(13, title="Short EMA Length") longEmaLength = input(21, title="Long EMA Length") // Calculate EMAs shortEma = ta.ema(close, shortEmaLength) longEma = ta.ema(close, longEmaLength) // Define the color variable with type var color emaColor = na // Determine the colors for the EMAs based on crossovers if (ta.crossover(shortEma, longEma)) emaColor := color.green else if (ta.crossunder(shortEma, longEma)) emaColor := color.red // Plot EMAs on the chart with dynamic colors plot(shortEma, title="Short EMA", color=emaColor, linewidth=2) plot(longEma, title="Long EMA", color=color.red, linewidth=2) // Generate buy and sell signals longCondition = ta.crossover(shortEma, longEma) shortCondition = ta.crossunder(shortEma, longEma) // Plot buy and sell signals plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy entry and exit strategy.entry("Long", strategy.long, when=longCondition) strategy.close("Long", when=shortCondition) strategy.entry("Short", strategy.short, when=shortCondition) strategy.close("Short", when=longCondition)