이동 평균 트렌드 추적 전략

저자:차오장, 날짜: 2024-01-29 11:46:15
태그:

img

전반적인 설명

이것은 트렌드 기반의 양적 거래 전략입니다. 그것은 주로 다른 기간의 이동 평균 라인을 ATR 지표와 결합하여 시장 트렌드를 추적하고 입시 및 출시 시기를 결정하는 데 도움을줍니다.

원칙

이 전략은 9 일 (단기), 15 일 (중기), 24 일 (장기) 의 이동 평균 라인을 3 개로 사용합니다. 그 중 9 일 및 15 일 라인은 트렌드 방향과 입시 시기를 결정하는 데 사용되며 24 일 라인은 수익 취지와 스톱-러스를 결정하는 데 사용됩니다. 동시에 전략은 또한 ATR 지표를 통합하여 이동 평균 라인을 동적으로 조정하여 시장 변동에 더 잘 적응합니다.

특히, 단기 이동평균선이 중기 이동평균선을 넘어서고, 종료 가격은 단기 이동평균선을 넘어서면, 트렌드가 나타나기 시작하고 있으며, 이 시점에서 긴 포지션을 설정할 수 있음을 나타냅니다. 단기 이동평균선이 장기 이동평균선을 넘어서거나 종료 가격은 장기 이동평균선을 넘어서면, 트렌드 역전 현상을 나타냅니다. 따라서 기존 포지션은 스톱 로스로 닫아야하거나 짧은 포지션을 시작할 수 있습니다.

또한, 전략은 또한 바 색상을 사용하여 트렌드 방향을 직관적으로 표시합니다. 단기 라인이 중장기 라인의 위에있을 때 바는 녹색, 중장기 라인의 아래에있을 때 빨간색입니다.

장점

  1. 서로 다른 기간의 3개의 이동 평균 라인을 조합하여 트렌드 방향을 보다 정확하게 판단할 수 있습니다.
  2. 이동 평균 라인의 ATR 기반 동적 조정 적용은 변동성 시장에 더 잘 적응합니다.
  3. 장기 및 단기 스톱 로스/이익 취득 메커니즘을 설정하면 위험을 효과적으로 관리할 수 있습니다.
  4. 바 색상의 시각적 효과는 효과적인 패턴 신호를 형성하여 거래 동작을 더 명확하게합니다.

위험 과 최적화

  1. 범위에 묶인 시장에서 잘못된 신호를 생성하는 경향이 있습니다
  2. 부적절한 매개 변수 설정 (예: 기간 매개 변수) 은 과도한 거래 또는 좋은 진입 기회를 놓칠 수 있습니다.
  3. 부피, MACD 등과 같은 입력 신호에 대한 다른 필터를 통합하는 것을 고려하십시오.
  4. 다양한 매개 변수 조합을 테스트하여 최적의 매개 변수를 찾을 수 있습니다.

결론

전체적으로 이것은 상대적으로 견고한 트렌드-추천 전략이다. 중장기 트렌드를 효과적으로 포착할 수 있으며, 위험을 제어하기 위해 스톱 손실/이익 취득 메커니즘을 설정할 수 있다. 그러나 전략은 매개 변수와 시장 조건에 민감하며, 더 많은 시장 환경에 적응하기 위해 추가 최적화가 필요하다.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
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/
// © ceyhun

//@version=4
strategy("Chaloke System Strategy",overlay=true)

P1=input(9,title="ShortTerm Period")
P2=input(15,title="MidTerm Period")
P3=input(24,title="LongTerm Period")
P4=input(5,title="Invesment Term")
P5=input(5,title="ATR Period")
Barcolor=input(true,title="Barcolor")

Sm=2*P5/10
ATRX=Sm*atr(P4)
S=ema(close,P1)-ATRX
M=ema(close,P2)-ATRX
Lg=ema(close,P3)-ATRX

Sht=iff(close==highest(close,3),S,ema(close[1],P1)-ATRX)
Mid=iff(close==highest(close,3),M,ema(close[1],P2)-ATRX)
Lng=iff(close==highest(close,3),Lg,ema(close[1],P3)-ATRX)

colors=iff(Sht>Mid and close > Sht ,color.green,iff(close < Lng or Sht<Lng,color.red,color.black))

plot(Sht,"Short",color=color.green,linewidth=2)
plot(Mid,"Middle",color=color.black,linewidth=2)
plot(Lng,"Long",color=color.red,linewidth=2)

barcolor(Barcolor ? colors :na)
   
long =  crossover(Sht,Mid) and close > Sht
short = crossunder(Sht,Lng) or close < Lng

if long
    strategy.entry("Long", strategy.long, comment="Long")
    
if short
    strategy.entry("Short", strategy.short, comment="Short")

alertcondition(long, title='Long', message='Chaloke System Alert Long')
alertcondition(short, title='Short', message='Chaloke System Alert Short')

더 많은