
この戦略は,著名な取引専門家ビル・ウィリアムズによって設計されたウィリアムズ指数の精巧な振動器 (Awesome Oscillator,AO) に基づいており,異なる周期の平均価格の差値を計算して,診断トレンドと市場の動力の振動指数を形成し,購入や売却を導くために相応の取引シグナルを設計しています.
この戦略の核心指標は精巧な振動器 ((AO) である.その計算式は以下のとおりである. AO = SMA ((中値,5日) - SMA ((中値,34日) 中間価格は ((最高価格+最低価格) /2。この公式は,2つの異なる周期の中間価格SMAから価格動向情報を抽出する。快線SMA ((5日) と慢線SMA ((34日) の差値を計算することによって,快線が慢線より高いときは買入シグナル,快線が慢線より低い時は売り出札シグナルとなる。
この戦略では,エラーシグナルを波するために,AOに5日SMA操作が行われ,反転モードが設定され,ロング/ショートシグナルを反転させることで異なる取引方向を実現することができる.AO値が以前より高いときは,買取機会として,青い柱状にマークされ,AO値が以前より低いときは,売出機会として,赤い柱状にマークされ.
この戦略は,中価・遅いSMA構造の設計の精巧な振動器を利用し,市場の動力の変化を診断し,買入シグナルを直感的に理解している。しかし,振動と逆転の影響を受けることがあります.安定性を高めるためにパラメータと止損戦略を適切に調整する必要があります。リスクを制御する前提で,この戦略はシンプルで実用的で,さらに最適化される価値があります。
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 28/12/2016
// This indicator plots the oscillator as a histogram where blue denotes
// periods suited for buying and red . for selling. If the current value
// of AO (Awesome Oscillator) is above previous, the period is considered
// suited for buying and the period is marked blue. If the AO value is not
// above previous, the period is considered suited for selling and the
// indicator marks it as 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 (AC)")
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
xSMA_hl2 = sma(xSMA1_SMA2, nLengthFast)
nRes = xSMA1_SMA2 - xSMA_hl2
cClr = nRes > nRes[1] ? blue : red
pos = iff(nRes > nRes[1], 1,
iff(nRes < nRes[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(nRes, style=histogram, linewidth=1, color=cClr)