모멘텀 이동 평균 교차 Sakkoulas 거래 전략


생성 날짜: 2024-02-21 15:14:19 마지막으로 수정됨: 2024-02-21 15:14:19
복사: 0 클릭수: 553
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

모멘텀 이동 평균 교차 Sakkoulas 거래 전략

개요

이 거래 전략은 여러 기술 지표들을 결합하여 시장의 진입과 출구 지점을 식별합니다. 지표가 다중 신호를 표시할 때, 더 많은 것을하십시오. 지표가 공백 신호를 표시할 때, 공백을하십시오. 동시에, 중지 및 중단으로 위험을 제어하십시오.

전략 원칙

MACD의 DIF 라인에서 DEA 라인을 통과하여 다단계 상태가 될 때; 또는 RSI가 30보다 낮은 상태에서 초과 상태가 될 때; 또는 무작위 지표의% K 라인과% D 라인이 동시에 20보다 낮은 상태에서 초과 상태가 될 때, 더 많이하십시오.

반대로, MACD의 DIF 라인이 DEA 라인을 가로질러 공백 상태에 들어갔을 때; 또는 RSI가 70보다 높을 때 과매매 상태에 들어갔을 때; 또는 무작위 지표의 %K 라인과 %D 라인이 동시에 80보다 높을 때 과매 상태에 들어갔을 때, 공백한다.

스톱 손실은 ATR 지수에 따라 계수로 설정되며, 스톱 은 리스크 수익률에 따라 설정된다.

우위 분석

이 전략은 시장 상태를 판단하는 여러 지표를 결합하여 단일 지표 판단 오류의 확률을 방지하고 의사 결정의 정확성을 향상시킵니다. 동시에, 단편 거래의 위험을 합리적으로 효과적으로 제어하는 중지 및 중지 세팅을 수행합니다.

위험 분석

기술 지표는 역사적 데이터에 의해 계산되며, 미래의 가격을 예측할 수 없으며, 약간의 지연이 있습니다. 여러 지표 조합을 사용하면 약간의 잘못된 신호가 발생할 수 있습니다. 또한, 스톱포인트 설정을 잘못하면 더 큰 손실이 발생할 수 있습니다.

기술 지표 지연 문제에 대해, 적절한 수치를 조정하여 계산 주기를 단축할 수 있다. 거짓 신호에 대해, 다른 보조 판단 지표를 추가하여 확인 할 수 있다. 또한, 스톱포트는 더 느슨하고 합리적으로 설정되어야 한다.

최적화 방향

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

  1. 통계 모델 지표를 늘리고, 추세와 연관성을 판단하여 시장에 진입합니다.
  2. 기계학습 모형이 지표 신호의 신뢰성을 판단할 수 있도록 하는 것.
  3. 자금 관리를 최적화하여 손해 차단 장치를 더 자동화하고 지능화합니다.

요약하다

이 전략은 여러 가지 기술 지표 판단과 결합하여 의사 결정의 정확성을 효과적으로 향상시킬 수 있으며, 손해 차단 제어 위험을 차단하여 신뢰할 수있는 트렌드 추적 전략입니다. 추후 통계학 및 기계 학습과 같은 방법을 도입하여 전략의 성능을 더욱 향상시킬 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Enhanced Moving Average Crossover sakkoulas with ATR and SAR", overlay=true)

// Παράμετροι MACD
fastLength = input.int(16, title="Fast Length")
slowLength = input.int(6, title="Slow Length")
signalSmoothing = input.int(5, title="Signal Smoothing")

// Παράμετροι RSI
rsiLength = input.int(6, title="RSI Length")
upperBound = input.int(70, title="Upper Bound")
lowerBound = input.int(30, title="Lower Bound")

// Παράμετροι SMA
smaPeriod = input.int(10, title="SMA Period")

// Παράμετροι Stochastic
stoLength = input.int(5, title="Stochastic Length")
stoSmoothK = input.int(3, title="Stochastic %K Smoothing")
stoSmoothD = input.int(10, title="Stochastic %D Smoothing")

// Παράμετροι Bollinger Bands
bbLength = input.int(20, title="Bollinger Bands Length")
bbStdDev = input.float(1, title="Bollinger Bands StdDev")

// Παράμετροι ATR
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier for Stop Loss")

// Παράμετροι Parabolic SAR
sarAcceleration = input.float(0.02, title="SAR Acceleration")
sarMaximum = input.float(0.2, title="SAR Maximum")

// Διαχείριση κινδύνου
riskRewardRatio = input.float(2.0, title="Risk/Reward Ratio")

// Υπολογισμοί δεικτών
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
rsi = ta.rsi(close, rsiLength)
sma = ta.sma(close, smaPeriod)
atr = ta.atr(atrLength)

// Παράμετροι και κλήση του Parabolic SAR
sar = ta.sar(sarAcceleration, sarMaximum, 15) // Διορθωμένη κ
// Υπολογισμός Stop Loss με βάση το ATR
longStopLoss = close - atrMultiplier * atr 
shortStopLoss = close + atrMultiplier * atr

// Συνθήκες για είσοδο και έξοδο
longCondition = ta.crossover(macdLine, signalLine) and close > sar
shortCondition = ta.crossunder(macdLine, signalLine) and close < sar

// Εκτέλεση εντολών συναλλαγής με διαχείριση κινδύνου
if (longCondition)
    strategy.entry("Long Position", strategy.long)
    strategy.exit("Exit Long", "Long Position", stop=longStopLoss)
    
if (shortCondition)
    strategy.entry("Short Position", strategy.short)
    strategy.exit("Exit Short", "Short Position", stop=shortStopLoss)

// Συνθήκες για είσοδο και έξοδο
 
// Εμφάνιση βελών για σημεία εισόδου
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, title="Long Entry")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, title="Short Entry")


// Εμφάνιση δεικτών
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")
plot(sma, color=color.orange, title="SMA")
plot(series=sar, color=color.fuchsia, style=plot.style_circles, title="Parabolic SAR")
hline(upperBound, "Upper Bound", color=color.red)
hline(lowerBound, "Lower Bound", color=color.green)