
이 전략은 MACD 및 RSI 지표를 계산하여 트렌드와 오버 바이 오버 세 필터를 결합하여 트렌드 추적 거래를 구현합니다. 이 전략은 중장선 거래에 적합하며, 가짜 브레이크를 효과적으로 필터링하고, 트렌드 방향을 확인하고, 트렌드 개발 초기에 포지션을 구축하고, 이후 트렌드 추적 스톱 손실과 같은 방법을 사용하여 수익을 고정합니다.
이 전략은 주로 MACD와 RSI 두 지표에 기반하여 거래 신호를 생성한다.
MACD는 이동 평균 차치 지표로, 이차가치 ((DIF), 신호 라인 ((DEA) 및 기둥으로부터 떨어져 있다. 이 전략에서, DIFF는 5 일 지수 이동 평균과 13 일 지수 이동 평균의 차치이며, DEA는 DIFF의 5 일 지수 이동 평균이다. DIFF 위를 통과하면 구매 신호가 발생하고, 아래를 통과하면 판매 신호가 발생한다.
RSI는 상대적으로 강하고 약한 지수를 나타냅니다. RSI는 시장이 과매매되거나 과매매되는지 판단하기 위해 한 기간 동안의 평균 마감 상승일과 평균 마감 하락일의 비율을 비교합니다. 이 전략에서 RSI 주기는 14로 설정됩니다. RSI는 70보다 큰 시점은 과매 지역이며, 30 시간보다 작은 시점은 과매 지역입니다.
MACD 거래 신호와 RSI 필터링 신호를 결합하여 MACD가 구매 신호를 생성하고 RSI가 초매권에 들어가지 않을 때, 더 많은 것을하십시오. MACD가 판매 신호를 생성하고 RSI가 초매권에 들어가지 않을 때, 공백을하십시오.
또한, 이 전략은 현재 K 선이 이전 K 선의 색과 다른지 판단하고, 동일하다면 거래 신호를 건너 냅니다. 이 디자인은 주로 가짜 돌파구를 필터링하기 위한 것입니다.
상장 후, 전략은 다음 K 라인의 종결 가격이 개시 가격보다 높거나 낮다는 것을 판단합니다. 조건이 충족되면, 트렌드가 검증되었다는 것을 증명하고, 이 때 매각이 멈춥니다.
이 전략에는 다음과 같은 위험들이 있습니다.
MACD 거래 신호는 더 많은 소음을 만들어서 너무 자주 거래 될 수 있습니다. MACD의 매개 변수를 적절하게 조정하여 곡선을 평평하게하는 것이 해결책입니다.
RSI 필터 설정이 잘못되면 놓친 거래 기회가 발생할 수 있습니다. 해결 방법은 더 적합한 RSI 파라미터를 테스트하는 것입니다.
잘못된 스톱 트래킹 설정으로 인해 너무 이른 스톱 또는 너무 큰 스톱이 발생할 수 있습니다. 해결책은 시장의 변동성과 개인 위험 선호도에 따라 스톱을 조정하는 것입니다.
단기간에 급격한 가격 변동으로 인해 엄청난 손실이 발생할 수 있다. 해결책은 옵션이나 다른 금융 도구를 사용하여 위험을 피하는 것이다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
MACD 파라미터를 최적화하고 MACD 곡선을 매끄럽게 하고, 노이즈 신호를 감소시킨다.
RSI 필터를 최적화하거나 개선하여 FILTER 효과를 향상시킵니다.
KD, 브린 밴드 등과 같은 다른 지표 확인 신호를 시도하십시오.
손해 중지 전략을 최적화하고, 동적으로 손해 중지 추적
기계 학습과 같은 방법을 사용하여 파라미터 최적화를 수행합니다.
주식 지수 선물, 옵션 등의 도구와 결합하여 hedging
이 전략은 MACD 지표와 RSI 지표를 통합하여 트렌드 판단, 오버 바이 오버 셀드 필터 및 스톱 추적을 구현하여 거래 위험을 효과적으로 제어 할 수 있습니다. 이 전략은 최적화 할 수있는 공간이 넓고, 매개 변수 조정, 새로운 지표 도입 등의 방법으로 더 나은 거래 효과를 얻을 수 있습니다.
/*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")