이 전략은 여러 가지 기술 지표와 추진력 분석 방법을 결합한 포괄적인 트렌드 추적 시스템이다. 전략의 핵심은 이동 평균 크로스오버, 트렌드 확인 및 추진력 지표, 위험 관리에 대한 변동성 제어와 결합되어 사용됩니다. 전략은 명확한 중장기 트렌드에 대한 시장에서 좋은 적응력을 보여줍니다.
이 전략은 다음과 같은 핵심 요소를 포함하는 다층 신호 확인 메커니즘을 사용합니다.
종합적인 거래 조건은 다음과 같습니다. 긴 조건: EMA9가 EMA21를 넘고 MACD 라인이 신호 라인 이상이고 긍정적, RSI 40-70 사이, 가격이 EMA9을 넘습니다. 짧은 조건: EMA9가 EMA21보다 낮아지고, MACD 라인은 신호 라인보다 낮고, 마이너스, RSI는 30-60 사이이며, 가격은 EMA9보다 낮습니다.
이 전략은 여러 기술적 지표의 조합을 통해 비교적 완전한 트렌드-추천 거래 시스템을 구축합니다. 핵심 장점은 신호 신뢰성과 합리적인 위험 통제에 있습니다. 비록 지연 및 매개 변수 최적화와 함께 도전에 직면하지만. 제안된 최적화 방향에 의해 전략은 라이브 거래에서 성능을 향상시킬 가능성이 있습니다. 실행 전에 철저한 역사적 데이터 테스트를 수행하고 특정 시장 특성에 따라 매개 변수를 조정하는 것이 좋습니다.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-27 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estratégia Cripto - 1D", shorttitle="Estratégia Cripto", overlay=true) // Definição das Médias Móveis Exponenciais (EMA) ema9 = ta.ema(close, 9) ema21 = ta.ema(close, 21) // Definição do MACD [macdLine, signalLine, _] = ta.macd(close, 12, 26, 9) // Definição do RSI rsi = ta.rsi(close, 14) // Volume médio volMedio = ta.sma(volume, 14) // Definição das Bollinger Bands basis = ta.sma(close, 20) dev = ta.stdev(close, 20) upperBand = basis + 2 * dev lowerBand = basis - 2 * dev // Condições de Compra (Long) longCondition = (ema9 > ema21) and (macdLine > signalLine) and (macdLine > 0) and (volume > volMedio) and (rsi > 40 and rsi < 70) and (close > ema9) if (longCondition) strategy.entry("Compra", strategy.long) // Condições de Venda (Short) shortCondition = (ema9 < ema21) and (macdLine < signalLine) and (macdLine < 0) and (volume > volMedio) and (rsi < 60 and rsi > 30) and (close < ema9) if (shortCondition) strategy.entry("Venda", strategy.short) // Stop Loss e Take Profit strategy.exit("Take Profit/Stop Loss", from_entry="Compra", loss=200, profit=400) strategy.exit("Take Profit/Stop Loss", from_entry="Venda", loss=200, profit=400) // Plotagem das Médias Móveis e Bollinger Bands plot(ema9, color=color.green, title="EMA 9") plot(ema21, color=color.red, title="EMA 21") plot(upperBand, color=color.blue, title="Upper Band") plot(lowerBand, color=color.blue, title="Lower Band")