이동평균 오차에 기초한 트렌드 브레이크 전략

저자:차오장, 날짜: 2023-10-23 15:38:37
태그:

img

전반적인 설명

이 전략은 평형 이동 평균에서 가격의 오차를 계산하여 시장 추세와 역전 기회를 식별합니다. 평형 이동 평균의 파열에 따라 거래하는 추세를 따르는 전략에 속합니다. 핵심 아이디어는 가격이 평형 이동 평균선을 통과 할 때 구매 또는 판매하는 것입니다.

전략 논리

  1. FPrice의 3개 기간 가중화 이동 평균을 평형 MA 라인으로 계산합니다.

  2. FPrice의 17일 표준편차 stdev와 17일 간단한 이동 평균 ema2를 계산합니다.

  3. 평균에서 가격의 오차율1을 (FPrice-ema2) /stdev로 계산합니다.

  4. Rate1이 -1 아래로 떨어지고 상승하기 시작하면 하향 트렌드 라인 아래로 돌파를 신호하고 구매 신호를 생성합니다.

  5. Rate1이 1보다 높고 떨어지기 시작하면 상승 트렌드 라인 위에 돌파를 신호하고 판매 신호를 생성합니다.

  6. 신호에 따라 포지션을 열거나 닫습니다.

이 전략은 트렌드 반전을 식별하기 위해 MA에서 가격 오차 표준 오차 범위를 사용합니다. 참조 범위를 동적으로 조정함으로써 시장 변동성에 적응합니다. 가격이 하나 이상의 표준 오차로 MA에서 벗어날 때 거래 신호를 유발합니다. 이것은 단기 시장 소음을 효과적으로 필터링하고 중장기 트렌드 변화를 잡습니다.

이점 분석

  1. 동적 기준 범위는 시장 변동성에 자동으로 적응합니다.

  2. 부드러운 MA는 단기 소음을 효과적으로 필터합니다.

  3. 표준편차는 합리적인 브레이크아웃 임계치를 설정하고 오버 트레이딩을 피합니다.

  4. 운동 필터는 가짜 탈출을 방지합니다.

  5. 전략 논리는 간단하고 명확하고 이해하기 쉽고 실행하기 쉽습니다.

  6. 매개 변수들은 다른 거래 도구에 따라 조정될 수 있습니다.

  7. 성능을 향상시키기 위해 다른 지표와 결합 할 수 있습니다.

위험 분석

  1. 장기간 낮은 변동성 기간 동안 거래 기회가 줄어들 수 있습니다.

  2. 부적절한 표준편차 매개 변수는 좋은 거래를 놓치거나 과도한 잘못된 신호를 생성할 수 있습니다.

  3. 표준편차는 극심한 가격 변동에 실패하여 잘못된 신호를 유발할 수 있습니다.

  4. 트렌드 전환 시에는 더 많은 가짜 브레이크가 발생할 수 있습니다.

  5. MA 시스템은 단기 교류를 감지하는 데 지연을 겪고 있습니다. 일부 단기 기회는 놓칠 수 있습니다.

  6. 매개 변수와 필터는 특정 시장 환경에 적절하게 조정되어야 합니다.

개선 방향

  1. 기기 특성에 따라 MA일과 유형을 최적화합니다.

  2. 표준편차 곱셈을 조정하여 최적의 기준 범위를 찾습니다.

  3. 잘못된 신호를 줄이기 위해 가격 모멘텀 필터를 추가합니다.

  4. 변동성 지표를 포함하여 변동성에 따라 매개 변수를 동적으로 조정합니다.

  5. 다른 비슷한 브레이크아웃 전략과 결합하여 승률을 향상시킵니다.

  6. 리스크를 관리하기 위해 트렌드 전환점에 위치 크기를 낮추는 것을 고려하십시오.

  7. 단일 트레이드 손실을 제어하기 위해 스톱 로스를 추가합니다.

결론

이 전략은 트렌드 반전을 식별하기 위한 명확한 논리를 가지고 있다. 매개 변수 조정과 조합을 통해 다른 시장에 적응할 수 있다. 그러나 위험 관리는 높은 변동성 기간 동안 잘못된 신호를 피하기 위해 매우 중요하다. 올바르게 최적화되면, 그것은 간단하고 실용적인 트렌드 다음 시스템이다.


/*backtest
start: 2023-09-22 00:00:00
end: 2023-10-22 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Mustafaozver

//@version=4
strategy("Escaping of Rate from Avarage By Mustafa OZVER", "EoRfA", overlay=false)
//strategy("Escaping of Rate from Avarage By Mustafa OZVER", "EoRfA", overlay=false)

src = input(ohlc4,"Source")
FPrice = wma(src,3)
len = input(17,"Length")

stdev = stdev(FPrice,len)
ema2 = ema(FPrice,len)

Rate1 = (FPrice - ema2) / stdev
//bgcolor(color=((stdev/ema)>0.0015)?color.green:#00000000,transp=80)

colorG = color.lime
colorR = color.red

hline(0,linestyle=hline.style_solid,editable=false)
hline1=hline(1,linestyle=hline.style_dotted,editable=false)
hlinen1=hline(-1,linestyle=hline.style_dotted,editable=false)
fill(hline1,hlinen1,color=color.silver,transp=85,editable=true)

//plot(Rate,color=(Rate>0?colorG:colorR),transp=75,style=plot.style_area,editable=false)

plot(Rate1,title="ESC1",color=(Rate1>0?colorG:colorR),style=plot.style_line,linewidth=1,editable=true)

BUYSIGNAL = Rate1 < -1 and change(Rate1) > 0
SELLSIGNAL = Rate1 > 1 and change(Rate1) < 0

if (BUYSIGNAL)
    strategy.order("LONG1",true)
    //strategy.close("SHORT1")

if (SELLSIGNAL)
   // strategy.order("SHORT1",false)
    strategy.close("LONG1")

더 많은