다중 지표 퓨전 트레이딩 전략


생성 날짜: 2024-01-29 10:06:25 마지막으로 수정됨: 2024-01-29 10:06:25
복사: 2 클릭수: 402
avatar of ChaoZhang ChaoZhang
1
집중하다
1235
수행원

다중 지표 퓨전 트레이딩 전략

개요

다중 지표 융합 거래 전략은 이동 평균 평균 경과, 상대적으로 강한 지표, 상품 경로 지표 및 무작위 지표 평평한 이동 평균 네 가지 지표 분석을 통합 한 복합 거래 전략이다. 이 전략은 다른 시간 주기에서 트렌드 지표 신호를 판단하여 시장의 매수점을 더 정확하게 판단하는 기능을 구현한다.

전략 원칙

이 전략은 크게 4가지의 지표에 따라 판단됩니다.

  1. MACD: 빠른 이동 평균과 느린 이동 평균의 차이를 계산하여 가격 운동의 경향과 동력을 판단한다. 빠른 선에서 느린 선을 통과할 때 구매 신호이다.

  2. RSI: 일정 기간 동안 주가 가격이 떨어지는 정도를 계산한다. RSI가 70보다 크면 과매매, 30보다 작으면 과매매한다. 이 전략은 70과 30을 매매 기준으로 한다.

  3. CCI: 가격의 움직임을 측정하기 위해 가격의 이동 평균에서 벗어난 비율을 계산합니다. 이 전략은 100과 -100을 구매 및 판매 기준으로 사용합니다.

  4. StochRSI: 무작위 지수 지표와 RSI 지표의 결합. K선과 D선 금이 교차하면 구매 신호, 사망이 교차하면 판매 신호이다.

이 전략은 위의 네 가지 지표가 동시에 충족되면 실제 구매 및 판매 신호를 생성합니다.

전략적 이점

이러한 다중 지표 통합 전략의 가장 큰 장점은 시장의 여러 차원을 결합하여 매도점을 판단할 수 있다는 것입니다. 구체적으로 다음과 같은 몇 가지 장점이 있습니다.

  1. 가짜 신호를 필터링할 수 있으며, 높은 지점에서 추격 락을 피할 수 있다. 지표가 동시에 신호를 발산할 가능성은 매우 낮으므로, 일부 가짜 신호를 필터링할 수 있다.

  2. 시장의 주요 트렌드를 파악할 수 있다. 시장의 흐름을 판단하는 각기 다른 지표의 각도와 달리, 시장의 흐름을 비교적 종합적으로 판단할 수 있다.

  3. 전략의 매개 변수를 최적화할 수 있는 공간이 넓다. 각 지표의 매개 변수를 조정함으로써 전략의 효과를 최적화할 수 있다.

  4. 시장에 따라 무게를 조정할 수 있다. 황소 시장에서 추세형 지표 무게를 높일 수 있고, 곰 시장에서 역전 지표 무게를 높일 수 있다.

전략적 위험

이 전략에는 다음과 같은 주요한 위험들이 있습니다.

  1. 지표가 잘못된 신호를 보내는 위험. 여러 지표가 동시에 잘못된 신호를 보내는 경우, 이 전략은 잘못된 거래를 초래한다.

  2. 주식 가격의 급격한 변동의 위험. 시장이 비정상적으로 변동하면 여러 지표가 동시에 잘못된 신호를 보낼 수 있습니다.

  3. 구매 신호 지연의 위험. 여러 지표를 종합적으로 판단할 때, 구매 신호 발송에는 지연이 있다.

  4. 매개 변수 최적화 난이도 위험. 다중 지표 조합 최적화 매개 변수는 더 복잡하며, 부적절한 최적화는 역효과가 발생할 수 있다.

대책은 주로 지표 매개 변수를 조정하고, 손실을 설정하고, 단일 투자 금액을 줄여서 위험을 통제하는 것입니다.

최적화 방향

이 전략은 다음의 몇 가지 측면에서 더 개선될 수 있습니다.

  1. KD, BOLL 등 다른 지표들을 테스트할 수 있다.

  2. 각 지표의 매개 변수를 최적화하여 전체 전략 효과를 최적화한다. 기계 학습과 같은 방법을 사용하여 자동으로 최적화 할 수 있다.

  3. 다른 주식과 산업에 대해 다른 배열을 설정합니다.

  4. 전략에 손해 중지 장치를 추가하십시오. 가격이 지원 지점을 돌파 할 때 자동으로 중지하십시오.

  5. 주식 풀을 업데이트하고, 분할 산업 내에서 우수한 성과를 내는 개인 주식을 선택하십시오. 주식 풀을 조정하면 전체 수익을 향상시킬 수 있습니다.

요약하다

이 전략은 4대 클래식 지표인 MACD, RSI, CCI 및 StochRSI를 통합하여 여러 시간 차원의 신호를 판단하여 엄격한 매수 기준을 설정하여 시장 매수점을 효과적으로 식별할 수 있습니다. 이 전략은 수익률을 효과적으로 높이고 손실을 줄일 수 있습니다. 변수 최적화, 주식 풀 업데이트, 손실을 추가하는 등의 방법으로 전략 효과를 더욱 향상시킬 수 있으며, 매우 효과적인 양적 거래 전략 중 하나입니다.

전략 소스 코드
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MACD RSI CCI StochRSI Strategy", shorttitle="MRCSS", 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(8, 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)

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

// 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)

// 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)