집계된 여러 시간 프레임 MACD RSI CCI StochRSI MA 선형 거래 전략

저자:차오장날짜: 2024-01-23 14:11:26
태그:

img

전반적인 설명

이 전략은 MACD, RSI, CCI, StochRSI 및 200일 간 간편 이동 평균과 같은 지표를 종합적으로 활용하여 일일 시간 프레임에서 거래 신호를 생성합니다. 먼저 MACD 라인과 황금 십자 및 죽음의 십자 신호 라인을 판단하고, RSI, CCI 및 StochRSI와 결합하여 과잉 구매 및 과잉 판매 조건을 결정하고, 마지막으로 가격이 200일 이동 평균 라인을 통과하는지 판단합니다. 구매 및 판매 신호는 이러한 조건을 기반으로 검사됩니다.

전략 원칙

이 전략의 핵심 논리는 MACD가 구매 및 판매 신호를 보낼 때 다른 보조 지표가 비슷한 신호를 내리는지 결정하는 것입니다. 대부분의 지표가 동일한 방향으로 신호를 내리는 경우 유효한 거래 기회를 형성 할 가능성이 높습니다.

첫째, MACD 라인이 신호 라인에 금색 교차를 할 때, 그것은 구매 신호를 생성합니다. 죽음 교차가 발생하면, 그것은 판매 신호를 생성합니다. 이것은 트렌드 반전을 결정하는 전략의 주요 기초입니다.

두 번째로, RSI 지표는 과잉 구매 및 과잉 판매 조건을 판단합니다. RSI가 설정된 과잉 구매 라인을 넘어서면, 그것은 과잉 구매로 결정됩니다. 이 시점에서 MACD 죽음의 크로스와 결합하여 판매 신호가 생성됩니다. RSI가 설정된 과잉 판매 라인을 넘어서면, 그것은 과잉 판매로 결정됩니다. 이 시점에서 MACD 황금 크로스와 결합하여 구매 신호가 생성됩니다.

마찬가지로 CCI 지표는 과잉 구매 및 과잉 판매 시나리오를 판단합니다. CCI가 MACD 죽음의 크로스와 결합하여 과잉 구매 라인을 초과하면 판매 기회가 발생합니다. CCI가 MACD 황금 크로스와 일치하여 과잉 판매 라인 아래에 떨어지면 구매 신호가 발생합니다.

스톡RSI 지표 내부에서 K 라인이 D 라인의 위로 갈 때, 그것은 과잉 구매 상황을 나타냅니다. 이 시점에서 MACD 죽음의 크로스와 일치하면 판매 신호가 발송됩니다. K 라인이 D 라인의 아래에 떨어지면 과잉 판매 상태를 결정합니다. 이 시점에서 MACD 황금 크로스와 결합하면 구매 신호가 생성됩니다.

마지막으로, 가격이 200일 이동 평균선을 넘으면 상승 추세로 결정됩니다. 이 시점에서 MACD 황금 십자 및 기타 지표와 결합하여 구매 신호가 생성됩니다. 가격이 200일 MA 이하로 떨어지면 하락 추세입니다. 이 시점에서 MACD 죽음의 십자 및 기타 지표와 일치하면 판매 신호가 발생합니다.

여러 지표로부터의 정보를 종합함으로써 과반 구매 및 과반 판매 시장 상태를 더 정확하게 결정할 수 있습니다. 일부 잘못된 신호를 필터링하여 높은 확률의 구매 및 판매 결정을 내릴 수 있습니다.

이점 분석

  1. 이 전략은 구매 및 판매 결정의 기초로 여러 지표를 합성하여 잘못된 거래 기회를 효과적으로 방지하고 신호 신뢰성을 높일 수 있습니다.

  2. 가격과 200일 이동평균의 관계를 추론함으로써 트렌드 판단과 결합하여 구매 및 판매 타이밍 위험을 줄일 수 있습니다.

  3. RSI, CCI 및 StochRSI와 같은 지표 내부의 매개 변수는 다른 시장 환경에 따라 조정되어 수익률을 높일 수 있습니다.

  4. 이 전략은 불필요한 거래를 피하기 위해 일일 시간 프레임에서 작동하며 장기 포지션 보유에 더 적합합니다.

위험 분석

  1. 전략 신호는 약간의 지연을 가지고 있어 단기 거래 기회를 놓칠 수 있습니다.

  2. 여러 지표가 복잡성을 높이고 논리 오류를 발생시키는 것이 더 쉽습니다.

  3. 부적절한 매개 변수 설정은 많은 잘못된 신호로 이어질 수 있습니다.

  4. 장기 보유는 시장 위험에 취약하고 최대 유출액은 상대적으로 높을 수 있습니다.

  5. 일내 단기 변동은 손실을 증가시킬 수 있습니다.

최적화 방향

  1. 매개 변수 최적화를 수행하고 RSI, CCI, StochRSI를 조정하여 다른 시장 환경에 최적의 매개 변수 조합을 결정합니다.

  2. 스톱 로스 메커니즘을 추가합니다. 스톱 로스 이동, 스톱 로스 비율, 수익을 차단하고 위험을 제어하는 것.

  3. 중요한 거래 기회를 놓치지 않도록 다시 시장에 진입하기 위한 기술적 지표나 메커니즘을 추가합니다.

  4. 거래 시기를 결정하기 위해 볼링거 밴드, KD와 같은 더 많은 기술적 지표를 포함합니다.

  5. 더 긴 주기의 트렌드 지표를 분석하여 긴 포지션 보유 능력을 최적화합니다.

결론

이 전략은 MACD, RSI, CCI, StochRSI 및 200 일 이동 평균과 같은 지표를 사용하여 시장 조건을 결정하고 매일 차트에서 거래 신호를 식별합니다. 이의 장점은 정확하고 신뢰할 수있는 신호이며 장기 보유에 적합합니다. 매개 변수는 다른 환경에 적응하도록 최적화 할 수 있습니다. 단점은 특정 후퇴와 단기 기회를 잡지 못하는 것입니다. 전반적으로 트렌드를 따르는 다중 지표 전략으로 안정적인 장기 이익을 추구하는 투자자에게 매우 신뢰할 수 있으며 적합합니다.


/*backtest
start: 2024-01-15 00:00:00
end: 2024-01-17 06:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD RSI CCI StochRSI MA Strategy", shorttitle="MRCSSMA", overlay=true)

// MACD göstergesi
fastLength = input(12, title="Fast Length")
slowLength = input(26, title="Slow Length")
signalLength = input(9, title="Signal Length")
[macdLine, signalLine, _] = macd(close, fastLength, slowLength, signalLength)

// RSI göstergesi
rsiLength = input(14, title="RSI Length")
rsiLevel = input(70, title="RSI Overbought Level")
rsiValue = rsi(close, rsiLength)

// CCI göstergesi
cciLength = input(14, title="CCI Length")
cciLevel = input(100, title="CCI Overbought Level")
cciValue = cci(close, cciLength)

// Stochastic Oscillator göstergesi
stochLength = input(14, title="Stoch Length")
stochK = input(3, title="Stoch K")
stochD = input(3, title="Stoch D")
stochValue = stoch(close, high, low, stochLength)
stochDValue = sma(stochValue, stochD)

// 200 günlük hareketli ortalama
ma200 = sma(close, 200)

// Alış ve Satış Sinyalleri
buySignal = crossover(macdLine, signalLine) and rsiValue < rsiLevel and cciValue < cciLevel and stochValue > stochDValue and close > ma200
sellSignal = crossunder(macdLine, signalLine) and rsiValue > (100 - rsiLevel) and cciValue > (100 - cciLevel) and stochValue < stochDValue and close < ma200

// Ticaret stratejisi uygula
strategy.entry("Buy", strategy.long, when = buySignal)
strategy.close("Buy", when = sellSignal)
strategy.entry("Sell", strategy.short, when = sellSignal)
strategy.close("Sell", when = buySignal)

// Göstergeleri çiz
hline(rsiLevel, "RSI Overbought", color=color.red)
hline(100 - rsiLevel, "RSI Oversold", color=color.green)
hline(cciLevel, "CCI Overbought", color=color.red)
hline(100 - cciLevel, "CCI Oversold", color=color.green)

// 200 günlük hareketli ortalama çiz
plot(ma200, color=color.blue, title="200-day MA")

// Grafik üzerinde sinyal okları çiz
plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small)


더 많은