리소스 로딩... 로딩...

이중 이동 평균 금십자 양적 전략

저자:차오장, 날짜: 2023-12-26 17:02:29
태그:

img

전반적인 설명

이중 이동 평균 황금 십자 양적 전략은 기술 지표 기반의 양적 거래 전략이다. 그것은 서로 다른 기간의 두 이동 평균을 계산하여 시장 트렌드를 결정하고 낮은 위험 거래를 가능하게 한다. 짧은 기간 이동 평균이 더 긴 기간 이동 평균을 넘을 때, 긴 이동 평균을 넘을 때 황금 십자 신호가 생성된다. 짧은 이동 평균이 더 긴 평균을 넘을 때, 짧은 이동 신호를 생성한다. 이 전략은 또한 잘못된 브레이크를 피하기 위해 가격 채널 지표를 통합한다.

전략 원칙

이중 이동 평균 황금 십자 양적 전략은 이동 평균 이론을 기반으로 한다. 이동 평균은 시장 소음을 효과적으로 필터하고 장기 트렌드 방향을 나타낼 수 있다. 단기 이동 평균이 장기 이동 평균을 넘을 때 시장의 상향 반전을 나타내고 구매 신호이다. 짧은 이동 평균이 긴 이동 평균을 넘을 때 하향 반전을 나타내고 판매 신호이다. 이 전략은 이동 평균의 두 그룹을 설정한다. 첫 번째는 2일 이동 평균과 3일 이동 평균, 두 번째는 420일 이동 평균이다. 2일 구매 신호가 3일 이동 평균을 넘을 때 생성되고, 아래를 넘을 때 판매 신호가 생성된다. 420일 이동 평균은 단기 역전을 피하기 위해 장기 거래 추세를 결정하는 데 사용됩니다.

전략 코드의 핵심 논리는 다음과 같습니다.

  1. 2일, 3일, 420일 이동 평균을 계산
  2. 2일과 3일 이동평균 사이의 황금 십자가와 죽음의 십자가를 판단
  3. 신호를 필터링하고 잘못된 파리를 피하기 위해 420 일 이동 평균을 사용
  4. 구매 및 판매 신호를 생성

구체적인 원칙은 다음과 같습니다.

  1. 2일 간편 이동 평균 n2ma와 3일 간편 이동 평균 nma를 지난 3일 폐쇄 가격을 기반으로 계산합니다.
  2. 지난 420일 동안의 종료 가격의 420일 가중화 이동 평균 rvwma를 계산합니다.
  3. nma가 nma를 넘으면 구매 신호가 생성됩니다.
  4. n2ma가 nma 이하로 넘으면 판매 신호가 생성됩니다.
  5. rvwma를 사용하여 신호를 필터링하여 n2ma가 rvwma보다 낮을 때만 구매 신호를 생성하고 n2ma가 rvwma보다 높을 때만 판매 신호를 생성합니다

단기 조정 후 트렌드 역전 기회를 잡는 것은 이중 이동 평균 교차와 전환점을 결정하고 잘못된 거래를 피하기 위해 매개 변수 필터를 설정하는 것입니다. 이 전략은 상대적으로 높은 이윤 인자로 단기 조정 후 트렌드 역전 기회를 효과적으로 포착 할 수 있습니다.

이점 분석

이중 이동평균 골든 크로스 양적 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 간단하고 신뢰할 수 있습니다: 단기 가격 동향을 결정하기 위해 이중 이동 평균 교차를 사용하여 간단하고 명확한 신호를 생성합니다.
  2. 높은 감수성: 2일 및 3일 이동 평균 매개 변수는 단기 가격 변화를 빠르게 파악할 수 있을 만큼 민감하게 설정되어 있습니다.
  3. 소음 필터링: 소음을 효과적으로 필터링하고 잘못된 거래를 피하기 위해 가격 채널 지표를 포함합니다.
  4. 강한 적응력: 이중 이동 평균 교차 이론은 다른 제품과 시간 프레임에 적응 할 수 있으며 구현을 쉽게합니다.
  5. 최적화하기 쉽다: 이동 평균 매개 변수 조합을 변경하고 필터 매개 변수를 조정하여 큰 최적화 공간
  6. 실제 거래의 검증: 이중 이동 평균 크로스오버 전략은 비교적 안정적인 성과로 실시간 거래에서 검증되었습니다.

위험 분석

이중 이동 평균 골든 크로스 양적 전략은 또한 다음과 같은 위험을 가지고 있습니다.

  1. 회수 위험: 단기적인 리바운드는 정지로 이어질 수 있습니다.
  2. 트렌드 역전 위험: 장기적인 트렌드 반전으로 이어지는 갑작스러운 사건은 손실을 유발할 수 있습니다.
  3. 매개 변수 최적화 위험: 부적절한 매개 변수는 전략 성과를 악화시킬 수 있습니다.
  4. 과도한 최적화 위험: 과도한 매개 변수 최적화는 과도한 조정으로 이어질 수 있습니다.
  5. 실시간 거래에서 발생하는 오차 위험: 백테스팅과 라이브 거래의 차이가 성과에 영향을 줄 수 있습니다.

다음과 같은 방법을 사용하여 위험을 줄일 수 있습니다.

  1. 단일 손실을 제어하기 위해 합리적인 스톱 손실을 설정
  2. 시장에 반대되는 거래를 피하기 위해 기본 요소를 결합하십시오.
  3. 최적화를 위한 적절한 제품과 기간을 선택
  4. 적절한 매개 변수 감수성 테스트를 수행
  5. 실시간 거래 확인을 추가합니다.

최적화 방향

이중 이동 평균 황금 십자 양적 전략은 또한 다음과 같은 측면에서 최적화 될 수 있습니다:

  1. 매개 변수 최적화: 이동 평균 및 채널 지표 매개 변수를 조정하여 최적의 매개 변수 조합을 선택합니다. 유전 알고리즘은 최적화를 도울 수 있습니다.

  2. 시점 선택: 다른 제품 특성에 기초하여 가장 적합한 이동 평균 매개 변수를 선택하십시오. 예를 들어, 관심 관련 상품에 대한 짧은 기간 이동 평균을 설정하십시오.

  3. 스톱 로스 전략 최적화: 역동적인 정지, 후속 정지 등을 설정하여 후퇴 정지를 피합니다.

  4. 방향 트레이딩 최적화: 트렌드 지표를 포함하고 트렌드를 따르는 거래를 채택하여 역 트렌드 거래를 방지합니다.

  5. 기계 학습 조합: LSTM, RNN 및 다른 심층 학습 모델을 사용하여 신호 품질을 판단하고 입력 시기를 결정합니다.

결론

이중 이동 평균 골든 크로스 양적 전략은 이동 평균 크로스오버의 간단한 원리를 통해 단기 가격 추세를 결정합니다. 채널 지표를 설정하면 잘못된 신호를 효과적으로 필터합니다. 전략은 직설적인 논리를 가지고 있으며 구현하기가 쉽습니다. 라이브 거래에서 검증된 비교적 좋은 성능으로 유연한 매개 변수 조정이 가능합니다. 매개 변수 최적화, 스톱 로스 최적화, 머신 러닝 등을 통해 업그레이드 할 수있는 권장 양적 전략입니다. 이 전략은 암호화폐 및 주식과 같은 제품 전반에 대한 알고리즘 거래에 적합합니다.


/*backtest
start: 2023-12-24 00:00:00
end: 2023-12-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//                                                Indicator420 by SeaSide420
strategy("Indicator420 strategy", overlay=true)
q=input(title="HullMA",defval=420)
z=input(title="HullMA cross",defval=3)
a=input(title="VWMA",defval=14)
rvwma=vwma(close,round(a))
rvwma2=vwma(close,round(a*2))
rvwma3=vwma(close,round(a*3))
n2ma=2*wma(close,round(z/2))
nma=wma(close,z)
diff=n2ma-nma
sqn=round(sqrt(z))
n2ma1=2*wma(close[1],round(z/2))
nma1=wma(close[1],z)
diff1=n2ma1-nma1
sqn1=round(sqrt(z))
n2ma2=2*wma(close[2],round(q/2))
nma2=wma(close[2],q)
diff2=n2ma2-nma2
sqn2=round(sqrt(q))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
n3=wma(diff2,sqn)
b=n1>n2?red:lime
c=n1>n2?green:red
d=n3>rvwma3?red:green
e=rvwma2>rvwma3?green:red
f=n1>n2?red:green
//plot(rvwma3, color=e, linewidth=1)
plot(cross(rvwma, rvwma2) ? rvwma : na, style = line,color=e, linewidth = 1)
plot(cross(n1, n2) ? n1 : na, style = line,color=b, linewidth = 3)
plot(cross(n1, n2) ? n1 : na, style = circles,color=c, linewidth = 4)
closelong = n1<n2
if (closelong)
    strategy.close("Long")
closeshort = n1>n2
if (closeshort)
    strategy.close("Short") 
longCondition = n1>n2 and strategy.opentrades<1 and n1<rvwma3
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<1 and n1>rvwma3
if (shortCondition)
    strategy.entry("Short",strategy.short)

더 많은