월간 패러볼릭 브레이크아웃 전략은 RSI가 36개월 최고치를 달성하고 두 개의 MACD 신호 중 하나가 36개월 최고치를 달성할 때 강력한 구매 신호를 식별합니다.
이 전략은 주로 RSI 및 MACD 지표에 기반합니다. RSI는 주가가 과소매 또는 과소매인지 판단하는 데 사용됩니다. MACD는 가격 변화의 추진력과 강도를 발견하는 데 사용됩니다.
구체적으로, 전략은 먼저 수동으로 14일 RSI를 계산합니다. 그 다음 MACD1을 4일과 9일 EMA의 차이로 계산하고 MACD2를 12일과 26일 EMA의 차이로 계산합니다.
이 기준에 따라 지난 36개월 동안 RSI, MACD1 및 MACD2의 가장 높은 값을 기록합니다. 이 달의 RSI가 36개월 최고치를 초과하고 MACD1 또는 MACD2가 또한 36개월 최고치를 초과하면 강력한 구매 신호가 생성됩니다.
이 신호는 다른 기간 동안 RSI와 MACD의 새로운 높은 판단을 결합합니다. 희귀한 주요 트렌드에서 큰 구매 기회를 효과적으로 식별하여 그러한 기회를 포착 할 수 있습니다.
이 전략의 가장 큰 장점은 다양한 기간에 걸쳐 새로운 높은 판단을 위해 여러 지표의 뷰 백 기간을 결합한다는 것입니다. 이것은 장기적인 메가 트렌드에서 우수한 구매 기회를 효과적으로 발견 할 수 있습니다. 이것은 수익 가능성을 크게 증가시킬 수 있습니다.
또한, 전략은 직접 구매 신호 위치를 제공합니다. 이는 거래 결정을 명확하게 안내 할 수 있으며 양적 거래에 매우 적합합니다.
이 전략의 가장 큰 위험은 시간 기간 동안 지표의 가장 높은 값에 너무 의존하여 나쁜 거래를 일으킬 수 있다는 것입니다. 예를 들어, 시장이 몰락하고 다시 상승하는 것처럼 보일 경우 신호도 유발 될 수 있습니다. 그러면 우리는 리바운드에서 이익을 얻을 수있는 기회를 놓칠 위험이 있습니다.
또한, 전략은 30일 후에 직접적으로 스톱 로스 출구를 설정합니다. 이는 메가 트렌드에서 이익을 유지하기에는 너무 보수적일 수 있습니다.
리스크를 줄이기 위해 거래량 파업, 변동성 측정 등과 같은 진입 및 중단 손실 조건을 최적화하기 위해 다른 요인을 결합하는 것을 고려할 수 있습니다.
이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.
매개 변수를 최적화합니다. 우리는 최고의 매개 변수 조합을 찾기 위해 RSI 기간, MACD 기간 및 다른 매개 변수의 최적화를 테스트 할 수 있습니다.
다른 지표 또는 기본 요소를 포함하십시오. 예를 들어 트렌드를 확인하기 위해 거래량 파업을 결합하거나 중요한 기본 뉴스 이벤트에 주의하십시오.
진입 및 출구 메커니즘을 최적화합니다. 우리는 30 일 후에 단순히 빠져 나가는 대신 더 정교한 수익 및 손실 계획을 설정 할 수 있습니다. 우리는 또한 트렌드 라인 판단, 채널 브레이크업 등을 통합 할 수 있습니다.
전략 안정성을 평가합니다. 우리는 매개 변수 안정성을 평가하기 위해 더 긴 역사적 기간을 백테스트 할 수 있습니다. 우리는 또한 적응력을 평가하기 위해 멀티 시장 백테스트를 수행 할 수 있습니다.
월간 패러볼릭 브레이크아웃 전략은 다기간의 RSI와 MACD를 결합하여 장기적인 메가 트렌드에서 우수한 구매 기회를 성공적으로 식별합니다. 트렌드 및 과잉 구매 / 과잉 판매 판단을 모두 포함하고 있으며 매우 강력한 실용적 가치를 가지고 있습니다. 추가 최적화로이 전략은 효율적인 양적 거래 시스템으로 변할 수 있습니다. 투자자에게 시장 전환점을 파악하는 강력한 도구를 제공합니다.
/*backtest start: 2022-11-24 00:00:00 end: 2023-11-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Stringent Strategy for Backtesting", overlay=true) // Initialize RSI variables rsiPeriod = 14 // Manually calculate RSI delta = close - close[1] gain = iff(delta > 0, delta, 0) loss = iff(delta < 0, -delta, 0) avgGain = sma(gain, rsiPeriod) avgLoss = sma(loss, rsiPeriod) rs = avgGain / avgLoss rsiValue = 100 - (100 / (1 + rs)) // Manually calculate MACD1 and MACD2 emaShort1 = ema(close, 4) emaLong1 = ema(close, 9) macd1 = emaShort1 - emaLong1 emaShort2 = ema(close, 12) emaLong2 = ema(close, 26) macd2 = emaShort2 - emaLong2 // Find the highest values in the last 3 years (36 months) highestRsi = highest(rsiValue, 36) highestMacd1 = highest(macd1, 36) highestMacd2 = highest(macd2, 36) // Define buy signal conditions buyCondition = (rsiValue >= highestRsi) and (macd1 >= highestMacd1 or macd2 >= highestMacd2) // Plot the buy signal on the chart plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy") // Backtesting: Entry and Exit if (buyCondition) strategy.entry("Buy", strategy.long) // Exit condition (Example: Exit after 30 bars) strategy.exit("Sell", "Buy", bar_index[30])