この戦略は,絶対価格振動器 (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")