이 전략은 MACD 지표와 슈퍼트렌드 지표를 결합한 트렌드를 따르는 이중 확인 시스템이다. 이 전략은 위험 관리에 대한 일정한 비율의 스톱 로스 및 영리 수준을 통합하여 슈퍼트렌드 방향을 고려하면서 MACD 라인 크로스오버를 신호 라인과 비교하여 입구 지점을 결정한다. 이 이중 확인 메커니즘은 거래 신호의 신뢰성을 향상시키고 잘못된 신호의 간섭을 효과적으로 감소시킨다.
이 전략의 핵심 논리는 다음의 핵심 요소에 기초합니다. 1. 슈퍼 트렌드 인디케이터: 현재 시장 트렌드 방향을 결정하기 위해 트렌드 라인을 계산하기 위해 20 기간 ATR 및 2의 인수를 사용합니다. 2. MACD 지표: 클래식 12/26/9 매개 변수 설정을 사용하여 빠르고 느린 라인 크로스오버를 통해 거래 신호를 생성합니다. 3. 진입 조건: 매크드 빠른 라인이 느린 라인 (구매 신호) 위를 넘고 슈퍼 트렌드 방향이 상승 (방향==1) 이 될 때만 구매 주문이 발동됩니다. 4. 리스크 관리: 자본을 보호하고 이익을 확보하기 위해 각 거래에 0.5%의 스톱 로스 및 99.99%의 영리 수준을 설정합니다.
이 전략은 MACD 및 슈퍼트렌드 지표의 장점을 결합하여 비교적 신뢰할 수있는 트렌드 다음 거래 시스템을 구축합니다. 46%의 정확도율과 46%의 수익률이 수익 가능성을 보여줍니다. 제안된 최적화, 특히 동적 스톱 로스 및 시장 환경 필터링을 통해 전략의 안정성과 적응력을 더욱 향상시킬 수 있습니다. 내일 및 선물 거래에 적합합니다. 사용자는 시장 환경 호환성을 유의하고 실제 조건에 따라 매개 변수를 조정해야합니다.
/*backtest start: 2024-11-10 00:00:00 end: 2024-12-09 08:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('MANTHAN BHRAMASTRA', overlay=true) // Supertrend function f_supertrend(_period, _multiplier) => atr = ta.sma(ta.tr, _period) upTrend = hl2 - _multiplier * atr downTrend = hl2 + _multiplier * atr var float _supertrend = na var int _trendDirection = na _supertrend := na(_supertrend[1]) ? hl2 : close[1] > _supertrend[1] ? math.max(upTrend, _supertrend[1]) : math.min(downTrend, _supertrend[1]) _trendDirection := close > _supertrend ? 1 : -1 [_supertrend, _trendDirection] // Supertrend Settings factor = input(2, title='Supertrend Factor') atrLength = input(20, title='Supertrend ATR Length') // Calculate Supertrend [supertrendValue, direction] = f_supertrend(atrLength, factor) // MACD Settings fastLength = input(12, title='MACD Fast Length') slowLength = input(26, title='MACD Slow Length') signalSmoothing = input(9, title='MACD Signal Smoothing') // Calculate MACD [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing) // Generate Buy signals buySignal = ta.crossover(macdLine, signalLine) and direction == 1 // Plot Buy signals // Calculate stop loss and take profit levels (0.25% of the current price) longStopLoss = close * 0.9950 longTakeProfit = close * 1.9999 // Execute Buy orders with Target and Stop Loss if buySignal strategy.entry('Buy', strategy.long) strategy.exit('Sell', 'Buy', stop=longStopLoss, limit=longTakeProfit)