絶対価格オシレータートレンドフォロー戦略


作成日: 2023-09-21 15:27:59 最終変更日: 2023-09-21 15:27:59
コピー: 0 クリック数: 707
1
フォロー
1617
フォロワー

概要

この戦略は,絶対価格振動器 (APO) の指標を利用して取引シグナルを生成し,トレンド追跡取引を実現する.APO指標は,2つの異なる期間の指数移動平均の差を計算し,その値に応じて,上または下を穿越して多空を行うオシリレーターを得ます.

戦略原則

  • APO指数は,短期と長期のEMAから構成され,その差値が計算される.

  • APO上では買入区 ((デフォルト3) に入るときに多めに,APO下では出売り区 ((デフォルト-3) に入るときに空にする.

  • 選択的に反転信号,APOは上着時に空き,下着時に多めにする.

  • 指数曲線は価格の動きを示し,形成されたトレンドの逆転信号を探します.

この戦略は,トレンド追跡戦略の1つであり,APO指標を使用して価格トレンドの方向を決定し,継続的な多空シグナルを生成します.指標パラメータを最適化すると,大トレンドの中間走勢を追跡できます.

戦略的優位性

  • シンプルな移動平均指標の組み合わせを使用し,簡単に実現します.

  • 価格の動きと方向を判断するために,APO指数を使用します.

  • デフォルトのパラメータは中期継続信号を生成し,過剰取引を避ける.

  • 価格がAPOから外れたトレンドを逆転させるチャンスを探す.

戦略リスク

  • 市場を整理する際には,偽信号やウィップサーブが起こりやすい.

  • 遅滞があるため,高速回転を逃す可能性があります.

  • ストップとポジション管理がなく,リスク管理が不十分である.

リスク対策:

  • パラメータを最適化し,異なる品種に適したパラメータの組み合わせをテストする.

  • フィルターを追加して,波動的な市場での取引を避ける.

  • ストップ・ロスを追跡するなど,ストップ・ロスの戦略を設定する.

戦略最適化の方向性

  • 取引品種ごとにパラメータ最適化を行い,最適なパラメータペアを探します.

  • 価格の動きや取引量などのフィルタリング条件を高め,偽信号を減らす.

  • 波動率または余剰比率に基づいて動的ポジション管理を行う.

  • ストップを最適化して,トレンド追跡ストップを設定します.

  • 機械学習のアルゴリズムを用いて,指標が信号から逸脱する成功率を判断する.

要約する

この戦略はAPO指標をベースに,移動平均の交差に基づくトレンド追跡取引を実現している.パラメータとリスクの制御を最適化した後,効果的な量化取引システムとなる.核心構想はシンプルで信頼性があり,さらなる開発と改善に値する.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/09/2018
// The Absolute Price Oscillator displays the difference between two exponential 
// moving averages of a security's price and is expressed as an absolute value.
// How this indicator works
//    APO crossing above zero is considered bullish, while crossing below zero is bearish.
//    A positive indicator value indicates an upward movement, while negative readings 
//      signal a downward trend.
//    Divergences form when a new high or low in price is not confirmed by the Absolute Price 
//      Oscillator (APO). A bullish divergence forms when price make a lower low, but the APO 
//      forms a higher low. This indicates less downward momentum that could foreshadow a bullish 
//      reversal. A bearish divergence forms when price makes a higher high, but the APO forms a 
//      lower high. This shows less upward momentum that could foreshadow a bearish reversal.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Absolute Price Oscillator (APO) Backtest 2.0", shorttitle="APO")
LengthShortEMA = input(10, minval=1)
LengthLongEMA = input(20, minval=1)
BuyZone = input(3, step = 0.01)
SellZone = input(-3, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyZone, color=green, linestyle=line)
hline(SellZone, color=red, linestyle=line)
hline(0, color=gray, linestyle=line)
xPrice = close
xShortEMA = ema(xPrice, LengthShortEMA)
xLongEMA = ema(xPrice, LengthLongEMA)
xAPO = xShortEMA - xLongEMA
pos = iff(xAPO > BuyZone, 1,
       iff(xAPO < SellZone, -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(xAPO, color=blue, title="APO")