MACD インディケーター駆動型 OBV 量子取引戦略

作者: リン・ハーンチャオチャン開催日:2024年11月17日 (月) 18:01:36
タグ:

img

概要

この戦略は,OBVインパントのトレンドと折りたたみ点を決定するために,OBVインパクトのMACD指標を計算することによって取引信号を生成する.主なアイデアは,OBVMACDヒストグラムがマイナス領域からポジティブな領域への0軸を通過すると購入信号を生成し,ポジティブな領域からマイナス領域への0軸を通過すると販売信号を生成することです.

戦略原則

この戦略の核心指標は,OBVのMACD指標である.OBV指標は,閉店価格と取引量の変化方向との間の関係を統計的に分析し,上向きの勢いが強まるか弱まるかを決定することで,株の勢い傾向を反映することができる.MACD指標は,価格変化の勢いを反映するために異なる移動平均の違いを示します.したがって,OBV勢い指標とMACD勢い指標を組み合わせることで,勢い変化傾向をより明確に判断することができます.

具体的には,この戦略は,まず OBV インディケーターを計算し,閉店価格と取引量の変化方向との間の関係を統計的に分析することによって OBV インパクトラインを計算する.その後,OBV インパクトラインに基づいて,MACD インディケーター,MACD ライン,シグナルライン,ヒストグラムを含む MACD インパクトラインを計算する.最後に,macd ヒストグラムがマイナス領域からマイナス領域へ0軸を突破すると,購入信号が生成され,ヒストグラムがマイナス領域からマイナス領域へ0軸を突破すると,販売信号が生成される.

この方法により,MACDは,OBVボリュームのモメント特性を直感的に表示し,ボリューム変化の傾向を判断する.MACDの浸透は,取引決定の正確性を向上させる取引信号を発行するために使用されます.

利点分析

この戦略は,FALSE信号を効果的にフィルタリングできる,ボリュームと価格動向の変化に関する比較的正確な判断のために,OBVボリューム分析とMACDモメント指標を組み合わせます. 具体的な利点は以下の通りです.

  1. OBV指標は,買い手と売り手との間の強度対比と量変化の傾向を決定することができます
  2. MACDヒストグラムは,OBVモメントの曲線点を明確に識別することができます.
  3. 取引信号は明確で 判断を誤る可能性は低い
  4. 設定可能な取引パラメータがあり,取引規則は明確です.

リスク分析

この戦略には,主に次の側面において,いくつかのリスクがあります.

  1. OBV と MACD は両方が取引量に敏感である.異常な高取引量は誤解を招く可能性があります.
  2. 不適切なパラメータ設定も戦略のパフォーマンスに影響を与える可能性があります.
  3. ロングとショートに切り替える場合,OBVのボリュームの変化が遅れており,その結果,トレード信号が遅れる可能性があります.

これらのリスクに対処するために,次の措置をとることができます.

  1. 取引量のスクリーニングによって異常データをフィルタリングする
  2. 慎重にパラメータを設定し,市場の条件を考慮する
  3. 適時な取引信号を生成するために,MACDサイクルのようなパラメータ設定を適切に調整する

オプティマイゼーションの方向性

この戦略をさらに最適化するには,主に以下の方向性において,まだ余地があります.

  1. 戦略のパフォーマンスを改善するために,ポートフォリオ取引のための他の指標と組み合わせる
  2. リスク管理にストップ・ロスのメカニズムを追加する
  3. 異なる市場環境のニーズを満たすためにパラメータ設定を最適化

継続的なテストと最適化によって この戦略は安定して効率的な量的な取引戦略になり得ます

概要

この戦略は,価格動向を決定し,トレードシグナルを生成するために,ボリューム分析とモメント指標を組み合わせる典型的な定量戦略である.価格変動の曲線点を明確に特定することができ,取引シグナルは比較的信頼性がある.合理的なパラメータ設定により,良い戦略結果が得られる.しかし,パフォーマンスを向上させるために継続的な最適化によって削減する必要があるいくつかのリスクもあります.一般的に,この戦略は,調査と適用に値する定量取引戦略の典型的なアイデアを提供します.


/*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")







もっと