
흔들림 오비탈 우수 지표 거래 전략은 빌 윌리엄스가 그의 저서 ?? 새로운 거래 차원 에서 제시한 제안에 기초하여 개발된 양적 거래 전략이다. 이 전략은 빠른 이동 평균과 느린 이동 평균의 차원을 사용하여 흔들림 지표를 구성하고, 기둥 모양의 그래프 형태로 표시되며, 기둥 모양의 색상의 변화로 거래 신호를 발산한다.
이 전략의 핵심 지표는 흔들림 진동 우수 지표 (Awesome Oscillator, AO) 이며, 계산 공식은 다음과 같다.
AO = SMA(Median Price, Fast Length) - SMA(Median Price, Slow Length)
그 중, Median Price는 높은 가격과 낮은 가격의 평균을 취한다. Fast Length는 빠른 이동 평균의 주기 길이를 나타내고, Slow Length는 느린 이동 평균의 주기 길이를 나타낸다.
AO 지표는 빠른 이동 평균과 느린 이동 평균의 차이를 통해 시장 가격의 변동 상황을 다른 시간 스케일에서 반영한다. 빠른 이동 평균이 느린 이동 평균보다 높을 때, 단기 가격 힘이 장기 가격 힘보다 강하다는 것을 의미하며, 구매 신호를 발산한다. 빠른 이동 평균이 느린 이동 평균보다 낮을 때, 단기 가격 힘이 장기 가격 힘보다 약하다는 것을 의미하며, 판매 신호를 발산한다.
이 전략은 AO 지표의 현재값과 이전 주기의 차치값을 사용하여 현재 주기의 빈 상태를 판단하고, 기둥 모양의 도표에 다른 색으로 표시한다: 현재 AO 값이 이전 주기보다 크면 파란색으로 표시되어 구매를 적합하게 나타낸다. 현재 AO 값이 이전 주기보다 작으면 빨간색으로 표시되어 판매를 적합하게 나타낸다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략에는 위험도 있습니다.
위와 같은 위험을 줄이기 위해, 매개 변수 설정을 최적화하고, 지표를 구성하는 방법을 조정할 수 있으며, 다른 지표와 함께 검증할 수 있다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
요약하자면, 흔들림 변동 우수 지표 거래 전략은 빠른 속도로 움직이는 평균의 차이를 사용하여 가격 추세 변화를 판단하여 단기 반전의 기회를 효과적으로 발견 할 수 있습니다. 이 전략의 개념은 명확하고 실행하기 쉽고, 매개 변수를 최적화하고 다른 지표와 결합하여 더 나은 거래 효과를 얻을 수 있습니다.
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 29/12/2016
// This indicator is based on Bill Williams` recommendations from his book
// "New Trading Dimensions". We recommend this book to you as most useful reading.
// The wisdom, technical expertise, and skillful teaching style of Williams make
// it a truly revolutionary-level source. A must-have new book for stock and
// commodity traders.
// The 1st 2 chapters are somewhat of ramble where the author describes the
// "metaphysics" of trading. Still some good ideas are offered. The book references
// chaos theory, and leaves it up to the reader to believe whether "supercomputers"
// were used in formulating the various trading methods (the author wants to come across
// as an applied mathemetician, but he sure looks like a stock trader). There isn't any
// obvious connection with Chaos Theory - despite of the weak link between the title and
// content, the trading methodologies do work. Most readers think the author's systems to
// be a perfect filter and trigger for a short term trading system. He states a goal of
// 10%/month, but when these filters & axioms are correctly combined with a good momentum
// system, much more is a probable result.
// There's better written & more informative books out there for less money, but this author
// does have the "Holy Grail" of stock trading. A set of filters, axioms, and methods which are
// the "missing link" for any trading system which is based upon conventional indicators.
// This indicator plots the oscillator as a histogram where periods fit for buying are marked
// as blue, and periods fit for selling as red. If the current value of AC (Awesome Oscillator)
// is over the previous, the period is deemed fit for buying and the indicator is marked blue.
// If the AC values is not over the previous, the period is deemed fir for selling and the indicator
// is marked red.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy("Bill Williams. Awesome Oscillator (AO)")
nLengthSlow = input(34, minval=1, title="Length Slow")
nLengthFast = input(5, minval=1, title="Length Fast")
reverse = input(false, title="Trade reverse")
xSMA1_hl2 = sma(hl2, nLengthFast)
xSMA2_hl2 = sma(hl2, nLengthSlow)
xSMA1_SMA2 = xSMA1_hl2 - xSMA2_hl2
cClr = xSMA1_SMA2 > xSMA1_SMA2[1] ? blue : red
pos = iff(xSMA1_SMA2 > xSMA1_SMA2[1], 1,
iff(xSMA1_SMA2 < xSMA1_SMA2[1], -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xSMA1_SMA2, style=histogram, linewidth=1, color=cClr)