월별 포물선 돌파 전략


생성 날짜: 2023-12-01 14:28:46 마지막으로 수정됨: 2023-12-01 14:28:46
복사: 0 클릭수: 672
avatar of ChaoZhang ChaoZhang
1
집중하다
1619
수행원

월별 포물선 돌파 전략

개요

월간 패러블라인 돌파 전략은 RSI와 MACD의 36개월의 신기록을 계산하여 일회성 대량 돌파 신호를 식별한다. RSI가 36개월의 신기록을 달성하고 MACD의 임의의 하나라도 36개월의 신기록을 달성하면 강력한 구매 신호가 발생한다. 이 전략은 드물게 큰 추세에서 기회를 잡기 위해 적합하다.

전략 원칙

이 전략은 주로 RSI와 MACD 두 가지 지표에 기반한다. RSI는 주가가 과매매 상태인지 판단하는 데 사용됩니다. MACD는 주가 가격의 동력과 힘을 발견하는 데 사용됩니다.

구체적으로, 전략은 먼저 14일 RSI를 수동으로 계산한다. 그리고 4일과 9일 EMA의 차이를 MACD1로 계산하고, 12일과 26일 EMA의 차이를 MACD2로 계산한다.

이를 바탕으로 지난 36개월 동안 기록된 RSI, MACD1 및 MACD2의 최고치를 나타냅니다. 이달의 RSI가 36개월의 최고치를 초과하고 MACD1 또는 MACD2 중 어느 하나라도 각각 36개월의 최고치를 초과하면 강력한 구매 신호가 발생합니다.

이 신호는 RSI와 MACD 두 지표의 시점 상위 판단을 결합하여, 드문 트렌드에서 나타나는 우수한 구매 지점을 효과적으로 식별하고, 그러한 기회를 잡을 수 있습니다.

우위 분석

이 전략의 가장 큰 장점은 여러 지표의 룩백 기간의 다른 시점의 신고 판단을 결합하여 장기적인 큰 추세에서 나타나는 우수한 구매 지점을 효과적으로 발견 할 수 있다는 것입니다. 이것은 수익을 얻을 확률을 크게 향상시킬 수 있습니다.

또한, 전략은 직접적으로 구매 신호 위치를 제공하여 거래 결정을 명확하게 안내할 수 있으며, 양적 거래에 적합합니다.

위험 분석

이 전략의 가장 큰 위험은 지표의 시점 최고치를 너무 많이 의존하여 잘못된 거래가 발생할 수 있다는 것입니다. 예를 들어, 시장이 단점 하락 후 다시 부진하면 신호를 유발할 수 있습니다. 이때 부진을 놓치고 수익을 얻을 수있는 기회가 있습니다.

또한, 전략은 30일 후에 직접적으로 스톱로스 아웃을 설정하고 있습니다. 이는 큰 추세에서 너무 보수적이어서 지속적인 수익을 올릴 수 없습니다.

위험을 줄이기 위해, 다른 요소와 결합하여 입시 및 중단 조건을 최적화하는 것이 고려될 수 있습니다. 예를 들어 거래량 돌파구, 변동률 측정 등이 있습니다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 최적화 매개 변수. RSI 주기와 MACD 주기와 같은 매개 변수의 최적화를 테스트하여 최적의 매개 변수 조합을 찾을 수 있다.

  2. 다른 지표나 기본 요소와 결합하여 니다. 예를 들어, 트렌드를 확인하기 위해 교류량 돌파구를 결합하거나 중요한 기본 뉴스 사건에 주의를 기울입니다.

  3. 진출 및 출전 메커니즘을 최적화한다. 단순한 30일 후에 퇴출하는 것보다 더 정교한 스톱 스톱 스 프로그램을 설정할 수 있다. 또한 트렌드 LINES, 채널 브레이크와 같은 판단 방법을 결합할 수 있다.

  4. 전략 강도를 평가한다. 더 긴 역사주기를 회상할 수 있고, 매개 변수 안정성을 평가한다. 또한 다중 시장 회상도 가능하며, 전략 적응성을 평가한다.

요약하다

월간 패러폴리 라인 돌파 전략은 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])