더블 이동 평균 교차 골든 크로스오버 양적 전략


생성 날짜: 2023-12-26 15:52:13 마지막으로 수정됨: 2023-12-26 15:52:13
복사: 0 클릭수: 562
avatar of ChaoZhang ChaoZhang
1
집중하다
1623
수행원

더블 이동 평균 교차 골든 크로스오버 양적 전략

개요

이 전략은 쌍평등선의 교차 상황을 계산하여 가격 트렌드와 거래 기회를 판단한다. 빠른 선에서 느린 선을 통과하면 황금 교차로 간주하고 더 많이 한다. 빠른 선 아래에서 느린 선을 통과하면 사망 교차로 간주하고 공백을 한다. 동시에 양적 지표를 결합하여 실제 교차를 판단하고 거짓 신호를 피한다.

전략 원칙

이 전략은 다음과 같은 원칙에 기초하고 있습니다.

  1. 두 세트의 다른 파라미터의 평균선을 계산합니다. 한 세트는 가격 변화에 빠르게 반응하고, 다른 세트는 상대적으로 느립니다. 빠른 선 위에 느린 선을 통과하면 가격이 상승 추세를 시작하는 것을 나타냅니다. 빠른 선 아래에 느린 선을 통과하면 가격이 떨어지기 시작하는 것을 나타냅니다.

  2. 평선 교차할 때, 또 측정 가능한 지표의 변화를 . 만약 가능한 지표가 동시적으로 뚫린다면, 교차 신호가 신뢰할 수 있음을 나타냅니다. 만약 가능한 지표가 대응되는 뚫림이 없다면, 가짜 신호일 수 있습니다.

  3. 교차 방향과 양에 따라 판단할 수 있으며, 상장 또는 상장 포지션에 진입한다. 그리고 상장 조건을 설정하여 수익이 일정 비율에 도달했을 때 상장한다.

구체적으로, 전략은 7 일 쌍평균선의 교차를 계산하여 가격 동향을 결정한다. 수량 변화 지표를 계산하여 교차 신호의 신뢰성을 판단한다. 신뢰할 수 있는 신호를 결정할 때, SIGNAL을 누르면 오이즈 또는 코어; 수익 조건을 설정하여 스톱을 실현한다.

우위 분석

이 전략의 주요 장점은 다음과 같습니다.

  1. 쌍평평선으로 트렌드 방향을 판단하고, 양으로 표시하여 거짓 신호를 필터링하여 조준을 피한다.
  2. 수능 지표가 확정된 경우에만 입학하여 성공률을 높여라.
  3. “이런 식으로 돈을 벌면 돈을 잃지 않게 해주는 것이지요”.

위험 분석

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

  1. 평균선 교차 지연, 가격 변화의 가장 좋은 기회 지점을 놓치기 쉽다. 적절한 최적화 파라미터를 사용하여 평균선을 더 민감하게 만들 수 있다.
  2. 양력 지표가 모순되면 판단하기 어렵다. 확인을 위해 더 많은 보조 지표를 도입할 수 있다.
  3. 정지점 설정이 불합리한 것은 초단선 또는 초장선 작동을 초래할 수 있다. 정지 매개 변수를 테스트하고 최적화해야 한다.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 수평선 주기 변수를 최적화하여 가격 변화를 보다 민감하게, 그리고 신속하게 포착한다.
  2. MACD, KD 등과 같은 신호 확인을 위해 더 많은 지표를 추가하여 양력 지표의 잘못된 판단을 피하십시오.
  3. 이동식 정지, 비율 정지, 진동식 정지 등과 같은 더 많은 정지 전략과 결합하여 동적 정지를 구현하십시오.
  4. 자동 중지 전략을 추가하고 단편 손실을 제어합니다.
  5. 포지션 관리를 최적화하고, 다른 시장 환경에 따라 전략 포지션을 조정한다.

요약하다

이 전략 전체적으로, 핵심 아이디어는 양평선 교차 판단 경향이며, 양적 에너지 지표 필터링 신호이다. 효과는 안정적이며, 쉽게 구현된다. 파라미터를 추가적으로 최적화하고, 신호 필터링과 스톱/스트롭 전략을 추가함으로써, 전략이 더 신뢰할 수 있고, 지능화되어, 높은 실전 가치를 가질 수 있다.

전략 소스 코드
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("ZendicatoR", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15, pyramiding=0)
dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
keh=input(title="Double HullMA Cross",defval=7, minval=1)
che1=input(title="MA 1",defval=34,minval=1)
che2=input(title="MA 2",defval=144,minval=1)
che3=input(title="MA 3",defval=377,minval=1)
amnt=input(title="TP ($)",defval=4200,minval=1)
wma1=wma(close,che1)
wma2=wma(close,che2)
wma3=wma(close,che3)
sma1=sma(close,11)
tms=10000000000000
A=request.security(syminfo.tickerid, 'D', close)*tms
B=request.security(syminfo.tickerid, 'D', close[1])*tms
C=A>B?green:red
D=wma2>wma3?green:red
plot(wma1,style=line,color=C,linewidth=4)
p1=plot(wma2,style=line,color=D)
p2=plot(wma3,style=line,color=D)
fill(p1, p2, color=D, transp=75)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)*tms
n2=wma(diff1,sqn)*tms
Q=n1>n2?blue:yellow
plot(sma1,style=line,color=Q,linewidth=4)
closelong = A*tms<B*tms and n2*tms>n1*tms and strategy.openprofit>amnt
if (closelong)
    strategy.close("Long")
closeshort = A*tms>B*tms and n1*tms>n2*tms and strategy.openprofit>amnt
if (closeshort)
    strategy.close("Short") 
longCondition = A*tms>B*tms and n1*tms>n2*tms
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = A*tms<B*tms and n1*tms<n2*tms
if (shortCondition)
    strategy.entry("Short",strategy.short)