移動平均振動AOインジケーター取引戦略


作成日: 2023-09-12 16:09:01 最終変更日: 2023-09-12 16:09:01
コピー: 0 クリック数: 652
1
フォロー
1617
フォロワー

この戦略は,均線システムとAO振動指標を組み合わせて使用し,トレンドの方向性を認識し,トレンド取引を行う.この戦略は,ショートラインの変動取引のタイプであり,ショートラインの価格の逆転の機会を捉えることを目的としています.

戦略の原則:

  1. 速速EMA平均線と遅速SMA平均線を計算し,平均線システムを構築する.

  2. AO振動指数の快線と慢線を計算して差値を得る.

  3. 速線が遅線を横切り,閉盘価格が遅線より高く,AOが上昇状態であるとき,さらに行う.

  4. 速線の下の慢線を貫通し,閉盘価格が慢線より低い状態で,AOは下落状態であるとき,空白する.

  5. AOは差値比較によって多空状態を決定し,偽信号を回避する.

この戦略の利点は

  1. 平均線システムは主要トレンドを判断し,AO指標は反転のタイミングを識別する.

  2. AOは差値比較によって,偽信号を効果的にフィルターすることができる.

  3. 信号の正確性を向上させるための指標を組み合わせる.

この戦略のリスクは

  1. 平均線とAOパラメータを市場状況に合わせて最適化する必要があります.

  2. 平均線とAOの両方で遅滞の問題があり,最高の入場ポイントを逃す可能性があります.

  3. 震災の場合は,損失を止めることは困難で,損失のリスクは大きい.

総合均線システムとAO指標の優位性を交易する.信号の質を一定程度向上させることができるが,遅滞を警戒し,長期にわたって安定した利益を得るために適切な止損戦略を採用する必要がある.

ストラテジーソースコード
/*backtest
start: 2023-09-04 00:00:00
end: 2023-09-11 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MA&AO", overlay = true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),   input(1, "Month"),   input(1, "Day"),   0, 0)
_testPeriod() =>
    true

//Inputs
fast_ma = input(8, title="Fast EMA", minval=2)
slow_ma = input(20, minval=1, title="Slow SMA")
AO_fast = input(5, minval=1, title="Awesome Length Fast")
AO_slow = input(8, minval=1, title="Awesome Length Slow")

//MA
fast  = ema(close, fast_ma)
slow =  sma(close, slow_ma)

//AO
AO_1 = sma(hl2, AO_fast)
AO_2 = sma(hl2, AO_slow)
dif = AO_1 - AO_2
AO = dif>=0? dif > dif[1] ? 1 : 2 : dif > dif[1] ? -1 : -2

long   =  crossover(fast, slow) and close > slow and abs(AO)==1
short =   fast < slow and close < slow and abs(AO)==2

long_condition =  long and _testPeriod() 
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition = short 
strategy.close('BUY', when=short_condition)


plot(fast, color=color.green)
plot(slow, color=color.red)