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

作者: リン・ハーンチャオチャン,日付: 2023年12月13日 15:38:12
タグ:

img

概要

この戦略は,トレンド逆転点を特定し,取引機会を掴むためにビル・ウィリアムズによって開発されたアクセラレータオシレーター (AC) インディケーターに基づいています.このインディケーターは,Awesome Oscillator (AO) とその5期間の単純な移動平均の違いを表し,AOの変化率を反映しています.AOが移動平均を超えると,上昇勢力の加速をシグナル化し,ロングポジションを確立します.反対に,AOが移動平均を下回ると,下落勢力の加速をシグナル化し,ショートポジションを確立するシグナルです.

戦略の論理

この戦略は,AOとその5期間の移動平均値の違いを計算し,加速器振動器 (AC) を得ます.ACが正であれば,AOの上昇の加速を表し,上昇勢力の強化を示します.ACが負であれば,AOの減少の加速を表し,下落勢力の強化を示します.

この戦略は,ACの正負の値に基づいてロング/ショートポジションを決定する.ACが0を超えると,ブイッシュモメンタムが加速していると考えられ,ロングポジションが確立される.ACが0を下回ると,ベアッシュモメンタムが加速していると考えられ,ショートポジションが確立される.

戦略は,Awesome Oscillator (AO) の速い線と遅い線を計算します.

AO ファーストライン = SMA (HL2)
AO スローライン = SMA ((HL2, LengthSlow)

次に AO を計算します.

AO = AO 急速ライン AO 遅いライン

次に,AOの5期間の移動平均値を計算します.

AO移動平均 = SMA (AO,長さFast)

最後に,加速器の振動器を取得します.

AC = AO AO 移動平均

ACが0を超えると ロングポジションを設定します

利点

この戦略には以下の利点があります.

  1. アクセレータオシレーター指標を使用すると 単純な移動平均値のような他の指標よりも早く トレンド逆転を検出できます

  2. AOと移動平均値のクロスオーバーを取引信号として利用することで,市場の騒音を効果的にフィルタリングし,トレンド逆転を特定できます.

  3. 戦略の論理は単純で理解し,変更しやすいので,戦略開発のための基本的枠組みとして適しています.

  4. AOの高速ラインと遅いラインの期間は,パフォーマンスの最適化のためにカスタマイズできます.

リスク

この戦略には次のリスクもあります

  1. ACインジケーターは誤った信号を生成し,過剰な取引やコストとリスクを増加させます.

  2. ストップ・ロスのメカニズムがないと 損失が増大する可能性があります

  3. バックテストの結果は 過剰なフィットメントリスクがあり 実際の取引効果は疑わしい

  4. 一般的な市場情勢を無視すると 取引が失敗する可能性があります

改善

戦略は以下の側面から改善できます.

  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)

もっと