동력 이중 이동 평균 전략

저자:차오장, 날짜: 2023-11-17 17:00:32
태그:

img

전반적인 설명

이 전략은 낮은 위험 거래를 구현하기 위해 모멘텀 이중 이동 평균 크로스오버 방법을 사용합니다. 이 전략의 목표는 트렌드 변화를 파악하고 주요 트렌드 중에 장기 수익을 창출하는 것입니다.

전략 논리

이 전략은 빠른 WMA 라인과 느린 WMA 라인의 교차를 기반으로 거래 신호를 생성합니다. 빠른 라인의 기간은 느린 라인의 기간의 절반입니다. 빠른 라인이 아래에서 느린 라인을 넘을 때 구매 신호가 생성됩니다. 빠른 라인이 위에서 느린 라인을 넘을 때 판매 신호가 생성됩니다. 잘못된 신호를 필터링하기 위해 두 이동 평균의 차이에 기반한 모멘텀 지표도 포함합니다. MA 교차가 모멘텀 지표와 동시에 발생하면만 거래 신호가 생성됩니다.

구체적으로, 핵심 논리는 다음을 포함합니다.

  1. 가격 입력 및 매개 변수를 정의하십시오: OHLC 가격 데이터를 얻으십시오. 매개 변수를 정의하십시오.

  2. 듀얼 MAs를 계산합니다: 2주기 MA n2ma, z주기 MA nma를 계산합니다.

  3. MA 차이 계산: 두 개의 MA 차이 사이의 차이를 계산합니다.

  4. 운동량 지표를 계산합니다: n1, n2, n3의 이동 평균을 계산합니다.

  5. 크로스오버를 결정한다: n2 위에 있는 n1을 녹색으로 표시하고, 그렇지 않으면 빨간색으로 표시한다.

  6. 그래프 형태: 그래프 n1과 n2

  7. 신호를 식별: n1, n2, n3이 같은 방향으로 정렬될 때 신호를 생성합니다.

  8. 입력 및 출입: 느린 라인 위에 있는 빠른 라인과 운동량 표시기가 일치할 때 길게 이동; 느린 라인 아래에 있는 빠른 라인과 운동량 표시기가 일치할 때 짧게 이동합니다.

장점

이 전략은 이중 MA 크로스오버와 모멘텀 인디케이터를 결합하여 잘못된 신호를 효과적으로 필터링하고 트렌드 변화의 시작에만 거래를 생성하여 좋은 전략 성과를 낼 수 있습니다.

  1. MA 크로스오버는 트렌드 변화를 감지하고 트렌드로부터 이익을 얻습니다.

  2. 모멘텀 지표는 잘못된 신호를 필터링하여 단기 변동에 의해 오해되는 것을 피합니다.

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

  4. 매개 변수 최적화는 다른 제품의 특성에 맞습니다.

  5. 어떤 정도의 피라미드 구조를 허용하면 수익 순환이 길어집니다.

위험성

또한 주의해야 할 몇 가지 위험 요소가 있습니다.

  1. 듀얼 MA 크로스오버는 트렌드 변화를 감지하는 데 지연되어 최적의 타이밍을 놓치고 있습니다.

  2. 모멘텀 지표의 부적절한 매개 변수 설정은 잘못된 신호를 생성할 수 있습니다.

  3. 긴 기간과 짧은 기간 사이에 불균형이 존재합니다.

  4. 이 전략은 불안정한 시장 상황을 잘 처리할 수 있는 메커니즘이 부족합니다.

  5. 과도한 최적화 위험이 존재하며 매개 변수 단계적 최적화가 필요합니다.

몇 가지 해결책:

  1. 다른 주요 지표를 추가하여 가격 변화를 조기에 감지하는 것을 고려하십시오.

  2. 가장 좋은 조합을 찾기 위해 모멘텀 지표의 매개 변수를 최적화합니다.

  3. 변동성 지표를 제어 보유 기간에 추가합니다.

  4. 단일 손실을 줄이기 위해 포지션 크기를 제한하십시오.

  5. 과도한 최적화를 피하기 위해 매개 변수 안정성을 테스트합니다.

개선 방향

이 전략은 다음과 같은 측면에서 개선될 수 있습니다.

  1. 각 제품에 대한 최적의 매개 변수를 찾기 위해 다양한 유형의 MA를 테스트합니다.

  2. 추세 변화를 결정하기 위해 MACD, 볼링거 밴드 같은 다른 지표를 추가합니다.

  3. 전환점을 정확하게 결정하기 위해 출입 시기를 최적화하십시오.

  4. 수익을 확보하기 위해 후속 스톱을 사용하여 출구를 최적화하십시오.

  5. 제품 특성에 따라 매개 변수 최적화를 수행합니다.

  6. 최적의 매개 변수 조합을 찾기 위해 기계 학습을 사용하세요.

  7. 리스크를 제어하기 위한 동적 위치 크기 메커니즘을 구축합니다.

  8. 전략 평가에 필요한 샤프 비율, 이익 요인 같은 양적 측정값을 추가합니다.

  9. 백테스팅 엔진을 사용하여 역사 데이터의 성능을 평가합니다.

요약

요약하자면, 이 모멘텀 이중 MA 전략은 MA 크로스오버와 모멘텀을 사용하여 주요 트렌드 역전 지점을 식별하여 저위험 거래를 가능하게합니다. 안정적인 이익과 간단한 구현과 같은 장점이 있지만 매개 변수 최적화 및 위험 통제와 같은 개선해야 할 문제도 있습니다. 시장 조건에 더 잘 적응하기 위해 입출시, 동적 위치 사이징과 같은 영역을 정비할 수 있습니다. 광범위한 검증 및 평가는 강력한 전략 성능을 보장하는 데 중요합니다. 전반적으로이 전략은 양적 거래에 간단하면서도 효과적인 접근 방식을 제공하지만 일관성있는 투자 수익을 창출하기 위해 지속적인 최적화와 검증을 필요로합니다.


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

더 많은