アクセラレータオシレーターに基づくトレンド反転戦略


作成日: 2023-12-13 15:38:12 最終変更日: 2023-12-13 15:38:12
コピー: 0 クリック数: 747
1
フォロー
1621
フォロワー

アクセラレータオシレーターに基づくトレンド反転戦略

概要

この策略は,ビル・ウィリアムズが開発した加速振動器 (Accelerator Oscillator,AC) の指標に基づいて,トレンドの転換点を特定し,取引機会を獲得する.この指標は,異同移動平均 (Awesome Oscillator,AO) とその5周期単行移動平均の間の差を代表し,AOの変化の速度を反映する.AOが移動平均を上方から横切ったとき,多頭力の加速を代表し,多頭ポジションの確立を意味する.逆に,AOが移動平均を下方から横切ったとき,空頭力の加速を代表し,空頭ポジションの確立を意味する.

戦略原則

この戦略は,AOとその5周期移動平均の差値を計算することによって,加速振動器 ((AC) を得ます.ACが正であるとき,AOが上昇加速を示し,多頭力の増強を示します.ACが負であるとき,AOが低下加速を示し,空頭力の増強を示します.

策略はACの正負で判断して多空位を確立する.AC上を0穿越すると,多頭力が加速すると考え,多頭位を確立する.AC下を0穿越すると,空頭力が加速すると考え,空頭位を確立する.

具体的には,異様な移動平均 ((AO) の快線と遅線を計算する戦略です.

AO快線 = SMA (HL2,LengthFast) AO慢線 = SMA ((HL2,LengthSlow)

そしてAOを計算します.

AO = 速線 - 遅線

AOの5周期移動平均を計算する.

AO移動平均 = SMA (AO,LengthFast)

オーバーオシャレは,

AC = AO - AO 移動平均

AC上は0を穿ったとき,多頭ポジションを確立する.AC下は0を穿ったとき,空頭ポジションを確立する.

戦略的優位性

この戦略の利点は以下の通りです.

  1. 加速振動指数を使用すると,トレンドの逆転を早期に発見することができ,単純移動平均などの他の指標に比べて有利である.

  2. 移動平均とAOの交差を取引シグナルとして利用することで,市場騒音を効果的に除し,トレンドの逆転を識別することができる.

  3. 戦略の実現はシンプルで,理解しやすく,変更しやすく,戦略開発の基本的枠組みとして使用するのに適しています.

  4. AO快線と慢線の周期パラメータをカスタマイズして,戦略の効果を最適化します.

戦略リスク

この戦略には以下のリスクもあります.

  1. AC指数は偽信号を発生しやすいため,超短線操作が頻繁になり,取引コストとリスクが増加する可能性がある.

  2. 損失の拡大を招く可能性がある.

  3. 追跡データには過適合のリスクがあり,実用性は疑わしい.

  4. 大盤の動きや背景の市場情報を考慮しないAC指数信号を盲目的に追うことは,取引の失敗につながる可能性があります.

戦略の最適化

この戦略は以下の点で最適化できます.

  1. MACD,KDJなどの他の指標のフィルター信号と組み合わせて,偽突破を避ける.

  2. 移動式止損システムに参加して単発損失を制御する.

  3. パラメータ最適化機能を評価し,最適なパラメータの組み合わせを探します.

  4. 異なる品種と時間周期に応じて異なるパラメータを設定し,戦略の性を最適化します.

  5. 大盤の動きと高水準のトレンドの判断論理を追加する.

要約する

この戦略は,加速振動器指標設計のシンプルなトレンド反転取引戦略に基づいて,AOと移動平均の差値を計算することによって,買入時を判断する.偽信号を生成しやすいが,戦略開発の基本的枠組みとして,他の要因を導入して最適化フィルタリングを行うことで,戦略の効果を効果的に改善できる.さらなる研究に値する.

ストラテジーソースコード
/*backtest
start: 2022-12-06 00:00:00
end: 2023-12-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 01/06/2017
// The Accelerator Oscillator has been developed by Bill Williams 
// as the development of the Awesome Oscillator. It represents the 
// difference between the Awesome Oscillator and the 5-period moving 
// average, and as such it shows the speed of change of the Awesome 
// Oscillator, which can be useful to find trend reversals before the 
// Awesome Oscillator does.
//
// 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("Accelerator Oscillator (AC) Backtest")
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 > 0, 1,
       iff(nRes < 0, -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)