
二重EMA価格振動策は,2つの異なる期限のEMA間の差値を計算することによって,市場の多空状態と強さを判断する.快線と慢線の間の差値が上を0通過すると,看板信号である.快線と慢線の間の差値が下を0通過すると,看板信号である.
この策略は,EMAの差値によって市場の強さと方向を判断するのに簡単である.しかし,また,一定の遅れがあるため,ターニングポイントを間に合うように捕捉することができない.
双EMA価格振動策の核心指標は,APO,すなわちAbsolute Price Oscillatorで,2つのEMAの間の差を表現する.計算式は以下の通りである.
APO = EMA(短期) - EMA(长期)
具体的には,この戦略では,APOの計算は以下の通りです.
xShortEMA = ema(收盘价, LengthShortEMA)
xLongEMA = ema(收盘价, LengthLongEMA)
xAPO = xShortEMA - xLongEMA
LengthShortEMAとLengthLongEMAは,それぞれ短期および長期EMAの周期長を表しています.
APOの判断基準は以下の通りです
APOのリアルタイム値から市場の空白状態と入場タイミングを判断する.
双EMAの価格変動戦略には以下の主要な利点があります.
双 EMA ストラテジーにはいくつかのリスクがあります.
合理的なストップ,単一の損失を減らす;パラメータを最適化,異なる周期に適応;他の指標と組み合わせてフィルター信号,戦略の安定性を高める,これらのリスクに対処し,軽減することができます.
二重EMAの価格変動戦略は,主に以下の方向から最適化できます.
EMA周期パラメータを最適化し,それぞれ5から60のEMA長さの組み合わせをテストし,最適なパラメータを見つけます.
MA,KDJ,MACDなどの他の指標を追加し,フィルタリング条件を設定し,偽信号を避ける
ブリン帯,KDなどの指標を用いて合理的なストップ・ストップ・損失位置を決定する.
トレンド指数などの指標を組み合わせ,価格の傾向を判断し,逆転取引を避ける
取引量指数に追加し,取引量に支えられた突破信号を確保する
取引の頻度や取引回数を減らすために再入場条件を設定します.
概要として,二重EMA価格振動策は,二重EMAの差値APOを計算して市場の空白状態を判断する.策の信号は単純で明確で,実用性が強い.また,一定の欠点もある.我々は,パラメータ最適化,フィルター条件の追加,止損の設定などの方法によって戦略の安定性を最適化および向上させることができる.この策は,使いやすい.また,広大な拡張スペースがあり,量化取引初心者の学習および適用に適している.
/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 30/05/2017
// 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
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Absolute Price Oscillator (APO) Backtest", shorttitle="APO")
LengthShortEMA = input(10, minval=1)
LengthLongEMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xPrice = close
xShortEMA = ema(xPrice, LengthShortEMA)
xLongEMA = ema(xPrice, LengthLongEMA)
xAPO = xShortEMA - xLongEMA
pos = iff(xAPO > 0, 1,
iff(xAPO < 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(xAPO, color=blue, title="APO")