이중 이동 평균 평균 반전 전략


생성 날짜: 2023-10-17 14:38:55 마지막으로 수정됨: 2023-10-17 14:38:55
복사: 0 클릭수: 384
1
집중하다
1166
수행원

이중 이동 평균 평균 반전 전략

쌍평균선 평균값 역전 전략은 트렌드 추적 전략이다. 그것은 서로 다른 주기의 평균선을 계산하여 가격 움직임이 역전되었는지 판단하여 트렌드 역전점을 포착하여 낮은 가격과 높은 가격을 달성한다.

이 전략은 먼저 두 개의 다른 주기의 평균선을 계산합니다. 하나는 더 긴 기간의 평균선으로 전체적인 추세를 판단합니다. 다른 하나는 더 짧은 기간의 평균선으로 지역적인 추세를 판단합니다. 이 전략은 두 개의 평균선의 관계를 비교하여 전체적인 추세가 역전되는지 판단합니다.

구체적으로, 전략은 먼저 더 긴 주기 (예: 60 일선) 의 두 개의 평균선을 계산합니다. 60 일 단편 이동 평균선과 60 일 중화 이동 평균선입니다. 이 평균선은 전반적인 추세를 판단하는 데 사용됩니다.

단기평균선 상에서 장기평균선을 횡단할 때, 가격이 반전하여 하락에서 상승으로 전환할 때, 이 전략은 다단위 포지션을 개시합니다. 단기평균선 아래에서 장기평균선을 횡단할 때, 가격이 반전하여 상승에서 하락으로 전환할 때, 이 전략은 공백점 포지션을 개시합니다.

이 작업은 다음과 같습니다.

  1. 60일 간소 이동 평균 nma와 60일 가중 이동 평균 n2ma를 계산

  2. 5일 간소 이동 평균 nma1과 5일 중화 이동 평균 n2ma1을 계산

  3. n2ma1과 nma1을 비교한다: n2ma1 위에 nma1을 착용하면, 다중머리가 열린다. n2ma1 아래에 nma1을 착용하면, 공백머리가 열린다.

  4. n2ma와 nma를 비교한다: n2ma 위에 nma를 착용하고, 다머리가 열렸다면, 다머리가 계속 유지된다. n2ma 아래에 nma를 착용하고, 빈머리가 계속 유지된다.

  5. 가격이 스톱로스를 넘거나 스톱 브레이크 지점에 도달했을 때 평점

  6. 위 과정을 반복하여 트렌드 반전을 포착하여 낮은 가격으로 높은 가격으로 판매하십시오.

이 전략의 장점은 쌍평균선 조합이 가격 트렌드의 반전을 비교적 민감하게 포착할 수 있다는 것이다. 쌍평균선 반전은 비교적 고전적인 기술 지표 신호이다. 한편, 서로 다른 주기평균선의 조합은 전체적인 경향과 지역적인 경향을 판단할 수 있어 트렌드 추적을 구현한다.

이 전략의 위험은 쌍평선 역전 신호가 가짜 신호를 발생시킬 수 있기 때문에 무작위로 진입하거나 뒤집어 진출하여 거래 위험을 증가시킬 수 있다는 것입니다. 또한, 쌍평선 시스템은 조정 범위가 큰 시장에 대해 잘못된 신호를 발생시킬 수 있습니다. 마지막으로, 쌍평선 시스템은 파라미터 설정의 안정성을 검증하기 위해 더 긴 재검사 주기가 필요합니다.

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

  1. 평균선의 주기 변수를 최적화하여 최적의 변수 조합을 찾습니다.

  2. 가짜 돌파구를 방지하기 위해 다른 기술 지표 필터를 추가합니다.

  3. 단편적 손실을 통제하기 위한 H&L 전략에 참여하세요.

  4. 트렌드 트레이딩 타이밍과 함께, 흔들리는 시장의 잘못된 트레이딩을 피하십시오.

  5. 동적으로 포지션 규모를 조정하여 시장의 변동에 적응

요약하자면, 쌍평균선 평균값 역전 전략은 서로 다른 주기평균선의 관계를 비교하여 가격 트렌드 역전점을 포착하여 낮은 가격과 높은 가격의 거래를 달성하는 것입니다. 최적화 된 매개 변수 설정, 필터 조건을 증가시키고 위험을 제어하는 것은 이 전략이 개선 할 수있는 방향입니다. 적절하게 사용하면 트렌드 전환을 수량적으로 포착하는 효과적인 도구가 될 수 있습니다.

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

//@version=2
//                   //////////////// Attempt to Reduced ReDraw version /////////////////////
//
//                         Microcana.com strategy by pilotgsms - version 4.20b <<<< Edited by Seaside420 >>>> special thanks to 55cosmicpineapple
//                            Hull_MA_cross added to script
strategy("M&H_v420b", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
dd = input(defval=1, title="Post Signal Bar Delay", type=float, step=1)
df = input(defval=5, title="Close Position Bar Delay", type=float, step=1)
keh=input(title="Double HullMA Cross",defval=7, minval=1)
confidence=(request.security(syminfo.tickerid, 'D', close)-request.security(syminfo.tickerid, 'D', close[1]))/request.security(syminfo.tickerid, 'D', close[1])
prediction = confidence > dt ? true : confidence < -dt ? false : prediction[1]
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)
n2=wma(diff1,sqn)
openlong=prediction[dd] and n1>n2 and strategy.opentrades<1
if (openlong)
    strategy.entry("Long", strategy.long)
openshort=not prediction[dd] and n2>n1 and strategy.opentrades<1
if (openshort)
    strategy.entry("Short", strategy.short)
closeshort=prediction and close<low[df]
if (closeshort)
    strategy.close("Short")
closelong=not prediction and close>high[df]  
if (closelong)
    strategy.close("Long")