
이 전략은 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 축을 통과 할 때 공백을 만들고, 추세가 하향에 따라 이익을 얻습니다.
이 전략은 간단한 트렌드 추적 전략에 속하며, 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)