AO 지표와 이동평균을 기반으로 한 추세 추적 전략


생성 날짜: 2023-12-20 11:59:48 마지막으로 수정됨: 2023-12-20 11:59:48
복사: 0 클릭수: 698
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

AO 지표와 이동평균을 기반으로 한 추세 추적 전략

개요

이 전략은 Awesome Oscillator ((AO) 지표를 통해 트렌드 방향을 판단하고 이동 평균과 결합하여 트렌드 확인을 수행하며, 트렌드 추적 전략에 속한다. AO 지표가 0 축을 통과하고 빠른 라인이 느린 라인을 통과 할 때 더 많이하고, AO 지표가 0 축을 통과하고 빠른 라인이 느린 라인을 통과 할 때 공백을 만들고, 트렌드의 방향성을 활용하여 이익을 얻는다.

전략 원칙

이 전략은 주로 AO 지표에 기반하여 트렌드 방향을 판단한다. AO 지표는}-{ 선의 중간점과 5주기, 34주기의 간단한 이동 평균의 차이를 계산하여 얻으며, Momentum 범주의 지표이다. AO 지표가 긍정적일 때, 단기 이동 평균이 장기 이동 평균보다 높을 때, Should be interpreted as a bullish sign. 반대로 AO 지표가 부정할 때, 단기 이동 평균이 장기 이동 평균보다 낮을 때, Should be interpreted as a bearish sign.

따라서, AO 지표는 트렌드의 방향을 효과적으로 판단할 수 있다. AO 위 0 축을 통과하면, 시장 트렌드가 호불호로 바뀌는 것을 나타내며, 더 많이 해야 한다. AO 아래 0 축을 통과하면, 시장 트렌드가 하향으로 바뀌는 것을 나타내며, 공백을 해야 한다.

또한, 이 전략은 20주기 및 200주기 이동 평균도 추가했다. 이 두 평균의 각은 중장기 트렌드의 방향을 나타낸다. 단기 트렌드의 방향을 판단하기 위해 AO 지표에만 의존하는 것은 충분하지 않으며 중장기 트렌드의 확인이 필요합니다.

빠른 평균선에서 느린 평균선을 통과하고 중장기 추세가 호불호가 될 때, 우리는 AO에서 0 축을 통과 할 때 더 많이하고, 추세가 상승함에 따라 이익을 얻습니다. 빠른 평균선 아래에서 느린 평균선을 통과하고 중장기 추세가 하향으로 전환 할 때, 우리는 AO 아래에서 0 축을 통과 할 때 공백을 만들고, 추세가 하향에 따라 이익을 얻습니다.

전략적 이점

  1. AO 지표를 사용하여 단기 경향 방향을 판단하는 정확도가 높다
  2. 이동 평균의 판단에 중·장기 추세를 포함하면 가짜 돌파구를 효과적으로 필터링할 수 있습니다.
  3. 빠른 수익, 단선 운영에 적합하다

위험 분석

  1. AO 지표 아래 0축과 이동 평균을 뚫고 공백 신호를 내면, 가격이 한동안 계속 상승할 수 있으며, 그 다음에는 하향으로 전환할 수 있습니다.
  2. AO 지표에 0축과 이동 평균을 뚫고 다중 신호를 발산하면 가격이 상승하기 전에 한동안 계속 하락할 수 있습니다.
  3. 대규모의 경계 효과의 위험. 시장의 중요한 기술 위치를 뚫고 AO 지표가 오조되어 잘못된 신호가 발생할 수 있습니다.

최적화 방향

  1. 10주기 및 50주기와 같은 다른 변수의 이동 평균 조합을 테스트하여 더 잘 맞는 평균을 찾을 수 있습니다.
  2. RSI와 같은 다른 지표와 조합하여 신호를 더 신뢰할 수 있습니다.
  3. 고정 손실 비율을 최적화하여 전략의 위험과 수익을 비교할 수 있습니다.

요약하다

이 전략은 간단한 트렌드 추적 전략에 속하며, AO 지표를 통해 단기 트렌드를 판단하고 중장기 트렌드를 확인하는 방법이 옳습니다. AO 지표와 이동 평균의 조합은 널리 사용되고, 성숙되어 있으며, 이 전략은 강력한 신뢰성을 가지고 있습니다. 추가적인 매개 변수 최적화 및 조합 지표 최적화를 통해 이 전략의 효과를 더욱 탁월하게 만들 수 있습니다.

전략 소스 코드
/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-14 20:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// https://www.youtube.com/watch?v=zr3AVwjCtDA

//@version=5
strategy(title="Bingx ESTRATEGIA de Trading en 1 minuto ", shorttitle="AO")
long = input.bool(true, "long")
short = input.bool(true, "short")
profit = (input.float(10, "profit") / 100) + 1
stop = (input.float(5, "stop") / 100) + 1
ao = ta.sma(hl2,5) - ta.sma(hl2,34)
diff = ao - ao[1]
plot(ao, color = diff <= 0 ? #F44336 : #009688, style=plot.style_columns)
changeToGreen = ta.crossover(diff, 0)
changeToRed = ta.crossunder(diff, 0)
alertcondition(changeToGreen, title = "AO color changed to green", message = "Awesome Oscillator's color has changed to green")
alertcondition(changeToRed, title = "AO color changed to red", message = "Awesome Oscillator's color has changed to red")

ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)
rsi = ta.rsi(close, 7)
plot(rsi)
plot(0, color=color.white)
var float pentry = 0.0
var float lentry = 0.0
var bool oab = false
// oab := ta.crossover(ao, 0) ? true : ta.crossover(0, ao) ? false : oab[1]

if long and close > open and ta.crossover(close, ema20) and ema20 > ema200 and ao > 0 and rsi > 50
    strategy.entry("long", strategy.long)
    pentry := close
strategy.exit("exit long", "long", limit=pentry * profit, stop=pentry / stop)

if short and close < open and ta.crossunder(close, ema20) and ema20 < ema200 and ao < 0 and rsi < 50
    strategy.entry("short", strategy.short)
    lentry := close
strategy.exit("exit short", "short", limit=lentry / profit, stop=lentry * stop)