다중 지표 추세 추종 거래 전략


생성 날짜: 2024-01-12 11:25:04 마지막으로 수정됨: 2024-01-12 11:25:04
복사: 2 클릭수: 594
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

다중 지표 추세 추종 거래 전략

개요

다중 지표 트렌드 추적 거래 전략은 MACD, 무작위 지표 및 SMA 이동 평균을 동시에 결합한 양적 거래 전략이다. 이 전략은 시장의 트렌드 방향을 식별하고, 트렌드가 시작되면 시장에 적시에 진입하고, 여러 지표의 조합 신호를 사용하여 시장에서 탈퇴할 때를 판단하는 데 노력한다.

전략 원칙

이 전략은 동시에 MACD, 무작위 지표 및 SMA의 세 가지 기술 지표를 사용하여 시장의 경향 방향과 강점을 판단한다. MACD 차이는 0 축을 통과할 때, 무작위 지표% K 라인은% D 라인을 통과하고 초과 구매 라인, SMA 빠른 라인은 느린 라인을 통과할 때, 구매 신호가 유발된다. 반대로 발생하면 판매 신호를 인식한다.

여러 지표를 조합하여 가짜 신호를 필터링하여 진정한 트렌드의 시작과 끝을 식별 할 수 있습니다. 동시에, 다른 지표들 사이에 검증이 형성되어 잘못된 거래의 확률이 낮아집니다.

전략적 강점 분석

이 전략의 가장 큰 장점은 지표의 조합을 사용하여 잡음을 효과적으로 필터링하여 실제 트렌드의 시작과 끝을 잠금 할 수 있다는 것입니다. MACD, 무작위 지표 또는 SMA 등을 단독으로 사용하는 것보다 훨씬 더 나은 식별 효과가 있습니다.

또한, 이 전략은 다양한 품종과 주기에 따라 변수를 조정할 수 있는 유연성을 가지고 있으며, 적응력이 강하다.

전략적 위험 분석

이 전략의 주요 위험은 다중 지표 조합이 거래 빈도를 증가시켜 과도한 거래의 위험을 초래할 수 있다는 것입니다. 또한, 잘못된 매개 변수 설정은 잘못된 거래의 위험을 초래할 수 있습니다.

위험을 줄이기 위해 거래 주파수를 적절히 제어하고, 긴 주기를 선택하고, 파라미터 조합을 최적화한다. 필요하면 단편적 손실을 제어하기 위해 손실을 중단할 수 있다.

전략 최적화 방향

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

  1. 다른 상품과 다른 주기 변수의 효과를 테스트하는 방법
  2. 지표의 무게와 필터링 조건을 증가시켜 잘못된 신호를 줄여줍니다.
  3. 리스크를 통제하기 위한 스톱로스
  4. 더 나은 수익률을 위해 지표 변수를 최적화하십시오.

요약하다

다중 지표 트렌드 추적 거래 전략은 지표의 조합 검증을 통해 신호의 정확도를 높이고, 트렌드의 시작과 끝을 효과적으로 식별할 수 있다. 파라미터 최적화 및 위험 제어는 이 전략의 성공의 핵심이다. 전체적으로 이 전략은 회수량이 작고, 수익이 큰, 매우 실용적인 양적 거래 전략이다.

전략 소스 코드
/*backtest
start: 2023-01-05 00:00:00
end: 2024-01-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Rule Number 1 Signals", overlay=true)

//Calculate MACD crossing or not
fastLength = input(8)
slowlength = input(17)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
macdDelta = MACD - aMACD

//Calculate Stochastic Crossing

stochasticLength = input(14, minval=1)
stochasticOverBought = input(80)
stochasticOverSold = input(20)
emaSignal = input(10)
smoothK = 5
smoothD = 5

k = sma(stoch(close, high, low, stochasticLength), smoothK)
d = sma(k, smoothD)

//Crossovers and Over /Under
macdCrossOver = crossover(macdDelta, 0)
macdCrossUnder = crossunder(macdDelta, 0)
macdOver = macdDelta > 0
macdUnder = macdDelta < 0

stochasticCrossOver = crossover(k, d)
stochasticCrossUnder = crossunder(k, d)
stochasticOver = k > d
stochasticUnder = k < d

ema = ema(close, emaSignal)
smaCrossOver = crossover(close, ema)
smaCrossUnder = crossunder(close, ema)
smaOver = close > ema
smaUnder = close < ema

if ((macdCrossOver and stochasticOver and smaOver) or (macdOver and stochasticCrossOver and smaOver) or (macdOver and stochasticOver and smaCrossOver))
    strategy.entry("Rule 1 Buy", strategy.long, comment="Rule 1 Buy")
if ((macdCrossUnder and stochasticUnder and smaUnder) or (macdUnder and stochasticCrossUnder and smaUnder) or (macdUnder and stochasticUnder and smaCrossUnder))
    strategy.entry("Rule 1 Sell", strategy.short, comment="Rule 1 Sell")


//Plot the Oversold Study
bgcol = k < stochasticOverSold ? green : k > stochasticOverBought ? red : na
bgcolor(bgcol)