この戦略は,取引信号を生成し,トレンドを追跡するために絶対価格オシレーター (APO) 指標を使用します.APOは,2つの EMAと取引のクロスオーバーの差をゼロ以上/以下に計算します.
APOは,より速いEMAと,より遅いEMAで構成され,両方の差を取ります.
APO が買取ゾーン (デフォルト 3) を越えると,ロング.売れゾーン (デフォルト - 3) を越えるとショート.
信号を逆転させるオプション - 売り上げの上のクロス,買い上げの下のクロス
曲線は価格の勢いを示し ダイバージェンスの逆転を見つけることができます
これはトレンドフォロー戦略であり,持続的なロング/ショート信号のトレンド方向を決定するためにAPOを使用する.最適化されたパラメータは中期トレンドを追跡することができます.
基本的な移動平均の組み合わせを用いたシンプルな実装
APOは価格の動力と方向性を測定します
デフォルトパラメータは 中期に持続的な信号を生成し,過剰取引を避ける.
価格/指標の差によって 傾向の逆転を検出できる
市場での誤った信号や 変動に易しい
遅延信号は 急速な逆転を 見逃す可能性があります
ストップ・ロストやポジションサイズがなく リスク管理が不完全です
緩和策
パラメータを最適化し,各機器で異なる組み合わせをテストする.
フィルターを追加して 不安定な条件で取引を避ける
ストップ・ロスを実施します.例えば,ストップ・トレリングです.
理想のペアを見つけるために各楽器のパラメータ最適化
価格の動きやボリュームに関する追加フィルターで,誤った信号を減らす.
動的ポジションのサイズ設定は,波動性または口座%に基づいて行われます.
トレンドをフォローするためにストップをフォローします
MLは,成功する差異信号の確率を評価する.
APOを使用したこのEMAクロスオーバーシステムは,トレンドフォローのための堅牢な基盤を提供します.パラメータ,リスク管理,フィルターの最適化により,効果的な定量戦略になり得ます.コアコンセプトは,さらなる開発のためのシンプルで堅牢です.
/*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")