
この戦略は,OBV指標のMACD指標を計算して,OBV量力のトレンドとターニングポイントを判断し,取引決定を駆動する.その基本的考え方は,OBVのMACD柱図が負数領域から0軸線を突破して正数領域に入るときに買入シグナルを生成することであり,正数領域から0軸線を突破して負数領域に入るときに売り信号を生成することである.
この戦略の核心指標は,OBVのMACD指標である.OBV指標は,株式の量能動的傾向を反映することができる.これは,一段の期間における終盤価格の変化の方向と成交量変化の関係を統計的に判断することによって,上昇量能が強化されたか弱まったかを判断することができる.MACD指標は,異なる均線間の差値を表示し,価格変化の動量を反映することができる.したがって,OBV量能指数とMACD動量指標を組み合わせることで,量能の変化の傾向をより明確に判断することができる.
具体的には,この戦略はまずOBV指標を計算し,それは統計的に一段の時間内に閉店価格の方向の変化と取引量との関係を計算し,OBV量能線を計算する.次に,OBV量能線に基づいて,MACD指標を計算し,MACD線,信号線,ヒストグラム柱形図を含む.最後に,macdヒストグラムが負数領域から0軸線を突破して正数領域に入るとき,買入信号を生成する.柱形図が正数領域から0軸線を突破して負数領域に入るとき,売出信号を生成する.
このように,MACDがOBV量力の動量特性を直視的に表示し,量力の変化傾向を判断し,MACDの突破で取引信号を発信することで,取引決定の正確性を向上させることができる.
この戦略は,OBV量能分析とMACD動量指標を組み合わせ,対量能変化と価格動向の判断を比較的に正確にし,ALSE信号を効果的にフィルターすることができる.具体的優位性がある.
この戦略にはいくつかのリスクがあり,以下のような部分に重点を置いています.
これらのリスクに対して,以下のような対策を講じることができます.
この戦略は,以下の方向に,さらに改善できる.
この戦略は,継続的にテスト・最適化することで,安定した,効率的な量化取引戦略となる.
この戦略は,価格の動向を判断し,取引信号を発信するための量化戦略の典型的な量能分析と動量指標の組み合わせである.それは,価格の変動の転換点を明確に識別することができ,取引信号は比較的に信頼性があり,パラメータを合理的な前提で設定すると,優れた戦略効果を得ることができます.しかし,それは,効果を向上させ,リスクを減らすために継続的な最適化が必要であるいくつかのリスクもあります.全体的に,この戦略は,量化取引戦略の典型的な考え方を提供し,さらなる研究と適用に値します.
/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "MACD of OBV", overlay = false)
//////////////////////// OBV ///////////////////////////
src = close
obv = cum(change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume)
//////////////////////// OBV //////////////////////////
//////////////// MACD OF OBV ////////////////////////////
sourcemacd = obv
fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)
fastMA = ema(sourcemacd, fastLength)
slowMA = ema(sourcemacd, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)
delta=macd-signal
swap1 = delta>0?green:red
plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20)
p1 = plot(macd,color=blue,title='MACD Line')
p2 = plot(signal,color=red,title='Signal')
fill(p1, p2, color=blue)
hline(0)
/////////////////////////MACD OF OBV //////////////////////////
// Conditions
longCond = na
sellCond = na
longCond := crossover(delta,0)
sellCond := crossunder(delta,0)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( longCond )
strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
else
strategy.cancel(id="BUY")
if ( sellCond )
strategy.close("BUY")