저자:차오장
태그:

img

전반적인 설명

이 전략은 트렌드 이후 트렌드 방향과 과반 구매/ 과반 판매 상황을 식별하기 위해 MACD 및 RSI 지표를 계산합니다. 중장기 거래에 적합하며, 잘못된 브레이크오프를 효과적으로 필터링하고 트렌드 초기 개발에서 포지션을 설정하여 후속 스톱 로스로 나중에 이익을 잠금합니다.

원칙

RSI는 상대적 강도 지수를 의미합니다. 이 전략은 기간 동안 평균 이익과 손실을 비교하여 과반 구매 / 과반 판매 상황을 반영합니다. 이 전략은 RSI 기간을 14로 설정합니다. 70 이상의 RSI는 30 이하의 과반 판매 상태에서 과반 구매 상황을 제안합니다.

또한, 전략은 현재의 바의 색이 이전 색과 다르는지 확인하고, 가짜 브레이크오프를 피하기 위해 동일한 색의 신호를 건너뛰고 있습니다.

강점

  • 트렌드 및 오시일레이션 지표의 통합은 트렌드 추적 및 역전 예방을 동시에 실현합니다.

위험 과 해결책

이 전략의 주요 위험은 다음과 같습니다.

  1. MACD는 과도한 소음을 발생시키고 과도한 거래로 이어질 수 있습니다. 해결책: 곡선을 부드럽게하기 위해 MACD 매개 변수를 최적화하십시오.

  2. 잘못된 RSI 필터 설정으로 인해 거래가 빠질 수 있습니다. 해결책: 더 적절한 RSI 기간을 테스트하십시오.

  3. 부적절 한 스톱 로스 배치 는 조기 또는 너무 느슨하게 중단 될 수 있습니다. 해결책: 시장 변동성 및 개인 위험 선호도에 따라 조정 합니다.

최적화 방향

이 전략은 다음과 같은 측면에서 개선될 수 있습니다.

  1. 소음 신호를 줄이기 위해 MACD 매개 변수를 최적화

  2. 더 나은 효과를 위해 RSI 필터를 향상

  3. KD, 볼링거 밴드 등과 같은 다른 확인 지표를 테스트하십시오.

  4. 동적 트레일링 스톱 손실을 구현합니다.

  5. 주식 인덱스 선물, 헤지 옵션 포함

결론


/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Al-Sat Sinyali ve Teyidi", overlay=true)

// MACD (Hareketli Ortalama Yakınsaklık Sapma)
[macdLine, signalLine, _] = ta.macd(close, 5, 13, 5)

// RSI (Göreceli Güç Endeksi)
rsiValue = ta.rsi(close, 14)

// RSI Filtresi
rsiOverbought = rsiValue > 70
rsiOversold = rsiValue < 30

// MACD Sinyalleri
buySignalMACD = ta.crossover(macdLine, signalLine) and not rsiOverbought
sellSignalMACD = ta.crossunder(macdLine, signalLine) and not rsiOversold

// Al-Sat Stratejisi
if (buySignalMACD and close[1] != close) // Al sinyali ve bir önceki mumdan farklı renkte ise
    strategy.entry("Buy", strategy.long)

if (sellSignalMACD and close[1] != close) // Sat sinyali ve bir önceki mumdan farklı renkte ise
    strategy.entry("Sell", strategy.short)

// Teyit için bir sonraki mumu bekleme
strategy.close("Buy", when=ta.crossover(close, open))
strategy.close("Sell", when=ta.crossunder(close, open))

// Varsayımsal bir sonraki mumun kapanış fiyatını hesapla
nextBarClose = close[1]
plot(nextBarClose, color=color.blue, linewidth=2, title="Tahmin Edilen Kapanış Fiyatı")

// Görselleştirmeyi devre dışı bırakma
plot(na)

// Al-Sat Etiketleri
plotshape(series=buySignalMACD, title="Al Sinyali", color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, text="Al")
plotshape(series=sellSignalMACD, title="Sat Sinyali", color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, text="Sat")


더 많은