모멘텀 더블 이동 평균 교차 전략


생성 날짜: 2023-11-17 17:00:32 마지막으로 수정됨: 2023-11-17 17:00:32
복사: 1 클릭수: 624
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

모멘텀 더블 이동 평균 교차 전략

개요

이 전략은 동력 쌍평평선 교차의 방법을 사용하여 저 위험 거래를 수행한다. 그것은 두 개의 다른 주기의 평균선, 빠른 선 및 느린 선을 사용하여, 그들의 교차에 따라 구매 판매의 시간을 판단한다. 이 전략은 트렌드의 변화를 포착하여 큰 트렌드에서 긴 선의 수익을 얻으려는 것이다.

전략 원칙

이 전략은 WMA 빠른 선과 WMA 느린 선의 교차를 사용하여 매매 신호를 판단한다. 빠른 선의 주기는 느린 선의 주기의 절반이다. 빠른 선이 아래에서 느린 선을 통과할 때 구매 신호를 생성한다. 빠른 선이 아래에서 느린 선을 통과할 때 판매 신호를 생성한다. 가짜 신호를 필터링하기 위해, 그것은 또한 이동 평균의 이동 차치 지표를 도입했다. 빠른 느린 선이 교차하는 동시에 지표가 형태 요구 사항을 충족할 때만 거래 신호를 생성한다.

특히, 전략의 핵심 논리는 다음과 같습니다.

  1. 가격과 파라미터를 정의: OHLC 가격 데이터를 추출; 파라미터를 정의 HullMA 주기 z, 가격 데이터 p。

  2. 이중 평균선을 계산한다: 계산 2 주기 평균선 n2ma, z 주기 평균선 nma。

  3. 평균선 차이의 계산: 두 평균선 차이의 계산.

  4. 운동량 지표 계산: 평균선 차이의 sqn 주기 이동 평균 n1, n2, n3 을 계산한다.

  5. 판단 교차: n1 위에 n2를 착용할 때 녹색으로 표시되며, 그렇지 않으면 빨간색으로 표시된다.

  6. 그리기 형태: n1, n2의 그래프를 그리기.

  7. 판단 신호: 3개의 운동 평균선 n1, n2, n3이 동방향으로 교차할 때 신호를 생성한다.

  8. 출전: 빠른 라인에서 느린 라인을 통과하고 동력 지표가 요구 사항에 부합할 때 더 많이 한다. 빠른 라인 아래 느린 라인을 통과하고 동력 지표가 요구 사항에 부합할 때 공백한다.

전략적 이점

이 전략은 양평선 교차와 동력 지표를 결합하여 가짜 신호를 효과적으로 필터링하여 트렌드 변화가 시작될 때만 거래 신호를 생성하여 더 나은 전략 효과를 얻을 수 있습니다.

  1. 빠른 선과 느린 선의 교차는 트렌드가 변하는 시기를 판단하고 트렌드를 활용하여 수익을 얻을 수 있습니다.

  2. 동력 지표가 추가되면 잘못된 신호를 필터링하여 시장의 단기 하락에 의해 오해되는 것을 피할 수 있습니다.

  3. 큰 트렌드가 변할 때만 거래하면 불필요한 거래 빈도를 줄일 수 있습니다.

  4. 매개 변수를 최적화한 평균선주기를 사용하면 지표가 다른 품종의 특성에 더 적합하게 만들 수 있다.

  5. 어떤 정도의 피레밍을 허용하면 수익주기를 연장할 수 있다.

전략적 위험

이 전략에는 몇 가지 위험도 있습니다.

  1. 양평선 교차는 트렌드 변화에 대한 판단에 지연되어 가격 변화의 최적의 시점을 놓칠 수 있다.

  2. 동력 지표 매개 변수 설정이 잘못되면 거래에 대한 오해가 발생할 수 있다.

  3. 일부 공백점 보유 시간 불균형 문제가 있다.

  4. 전략은 시장의 변동에 대해 잘 대처하지 못합니다.

  5. 과잉 최적화 위험도 존재하며, 매개 변수를 점진적으로 최적화해야 한다.

위험은 다음과 같이 해결됩니다.

  1. 가격 변화를 판단하는 다른 선행 지표들을 고려하여 미리 준비할 수 있습니다.

  2. 동력 지표 파라미터를 적절히 최적화하여 최적의 파라미터 조합을 찾습니다.

  3. 변동률 지표를 추가하여 포지션 시간을 제어하는 것을 고려할 수 있습니다.

  4. 단위 손실을 줄이기 위해 포지션 수를 적절히 제한할 수 있습니다.

  5. 매개 변수 안정성 검사를 실시하여 오버 최적화 문제를 피하십시오.

전략 최적화 방향

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

  1. 다양한 종류의 평균선 지표를 시도하여 품종에 대한 최적의 변수를 찾아보세요.

  2. 테스트는 MACD, 브린 밴드 등과 같은 다른 보조 지표와 판단 경향의 변화를 추가한다.

  3. 시장에 진입하는 시기를 최적화하고, 가격 반전의 시작점을 정확하게 판단한다.

  4. 출전 시간을 최적화하고, 트래킹 스톱로스 등의 방법으로 수익을 잠금화한다.

  5. 다양한 품종의 특성에 따라 파라미터를 최적화한다.

  6. 기계 학습을 통해 최적의 변수 조합을 찾아보세요.

  7. 역동적인 포지션 관리 메커니즘을 구축하고, 위험을 통제한다.

  8. 프 비율, 수익률 등과 같은 수량화된 전략 평가 지표를 추가하십시오.

  9. 역기적 데이터에 대한 역검사 엔진 평가 전략을 활용한다.

요약하다

요약하자면, 이 동력 쌍평선 전략은 동선 교차와 동력 지표가 큰 흐름을 판단하는 전환점을 채택하여, 효과적으로 소음을 필터링하여 저 위험 거래를 할 수 있다. 그것은 수익 안정성과 단순성을 구현하는 장점이 있으며, 또한 파라미터 최적화 및 위험 제어와 관련된 몇 가지 문제가 있다. 우리는 진출 시기와 역동적인 포지션 관리 등을 최적화하여 전략을 더 잘 적응하도록 할 수 있습니다.

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

//@version=2
//OCTOPUS Indicator Strategy
strategy("FAVEL corp. Indicator Strategy", shorttitle="FAVEL corp. Monarch", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=420, default_qty_value=20, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
z=input(defval=60,title="HullMA cross")
p=input(ohlc4,title="Price data")
n2ma=2*wma(p,round(z/2))
nma=wma(p,z)
diff=n2ma-nma
sqn=round(sqrt(z))
n2ma1=2*wma(p[1],round(z/2))
nma1=wma(p[1],z)
diff1=n2ma1-nma1
sqn1=round(sqrt(z))
n2ma2=2*wma(p[2],round(z/2))
nma2=wma(p[2],z)
diff2=n2ma2-nma2
sqn2=round(sqrt(z))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
n3=wma(diff2,sqn)
c=n1>n2?green:red
n1e=plot(n1, color=c, linewidth=1, offset=2)
n2e=plot(n2, color=c, linewidth=1, offset=2)
fill(n1e, n2e, color=c, transp=75)
plot(cross(n1, n2) ? n1 : na, style = circles,color=c, linewidth = 4)
closelong = p<p[1] and n1<n3
if (closelong)
    strategy.close("BUY")
closeshort = p>p[1] and n1>n3
if (closeshort)
    strategy.close("SELL")
longCondition = strategy.opentrades<1 and n1>n2 and p>p[1] and n1>n3
if (longCondition)
    strategy.entry("BUY",strategy.long)
shortCondition = strategy.opentrades<1 and n1<n2 and p<p[1] and n1<n3
if (shortCondition)
    strategy.entry("SELL",strategy.short)