ストックRSIとMFIをベースにした量的な取引戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-29 10:11:14
タグ:

img

概要

この戦略は,ストカスティックRSIとMFI指標を組み合わせて,過剰購入と過剰販売の条件を特定し,購入および売却の決定を下す.基本的な考え方は,株価が過剰購入されたときに売却を考慮し,株価が過剰販売されたときに購入を検討することです.

戦略原則

ストコストティックRSI指標は,ストコストティックオシレーター (KDJ) と相対強度指数 (RSI) の利点を組み合わせています.まず,RSIを通じて一定の期間におけるRSI値を計算し,その後,RSIが過買いまたは過売れているかどうかを判断するために,このRSI配列のストコストティックKとD値を計算するためにストコストティック方法を使用します.

マネーフローインデックス (MFI) 指標は,市場需要供給関係と過買い/過売り状況を,物価や価格の変化に基づいて判断する.指標は,上昇する価格が,上昇勢力が下落勢力のより強いことを反映していると信じている.不安定性が増加すると,上昇勢力が下落勢力のより強いので,売上高の増加は,価格を上昇させる牛を告げる.

この戦略は,ストコストティックRSIおよびMFIの過剰購入および過剰販売レベルを設定する.ストコストティックRSI指標のK線が過剰販売線を上向きに横切るか,またはMFI指標が過剰販売線を上向きに横切ると,購入信号が生成される.ストコストティックRSI指標のK線が過剰購入線を下向きに横切るか,またはMFI指標が過剰購入線を下向きに横切ると,販売信号が生成される.

戦略 の 利点

ストカスト的RSIとMFI指標を組み合わせるこの戦略により,市場における過買い/過売状況がより信頼的に特定され,誤った信号を生むことは避けられます.

まずストカスティックRSIインジケーター自体はより高い信頼性と感度を持ち,通常のストカスティックオシレーターよりも過買い/過売り状態をより正確に判断することができます.

第二に,MFI指標は,量と価格の変化の観点から過買い/過売り状態を判断し,単一の観点から判断する際に発生する誤りを避けるために別の次元からの参照を提供します.

最後に,ストコストティックRSIとMFI指標は互いを補完する.ストコストティックRSIは市場状況の決定のために価格変化自体に焦点を当て,MFIは量と売上高の変化に焦点を当てています.両方を組み合わせることで,より包括的な視点から市場状況を判断し,より正確で信頼できる取引決定を下すことができます.

戦略 の リスク

この戦略の主なリスクは以下のとおりです.

  1. 誤ったシグナルを生成する指標のリスク ストカストリックRSIおよびMFI指標はどちらも高い信頼性を持っているが,一部の市場環境で誤った購入/売却シグナルを生成し,取引損失を引き起こす可能性がある.

  2. 過剰購入/過剰売却指標のパラメータ設定の不適切なリスク.ストカストリックRSIおよびMFI指標のパラメータ設定は,取引信号に大きな影響を与える.パラメータが正しく設定されていない場合,指標の有用性が弱まります.

  3. ストカスティックRSIおよびMFI指標は,ほとんど遅延しており,最適な買い/売りのタイミングを逃す可能性があります.

  4. 市場が,指標が信号を出していない空き期間に横向きに固まる場合,それはいくつかの機会コストにつながります.

対応するリスクに対する解決策は,指標パラメータの調整,ストップロスの設定,ポジションサイズの削減,他の指標の導入などです.

戦略の最適化方向

戦略は以下の側面で最適化できます.

  1. 動力指標を組み込む. 統合期間中に取引を避けるためにストカストリックRSIおよびMFI指標の上に動力指標信号に基づいて判断条件を追加する. 例えば,閉じる価格/ボリュームのブレイクアウト基準を追加する.

  2. ストップ損失メカニズムを追加します. 長期保有の場合,移動ストップ損失を追加します. 短期取引の場合,単一の損失を制御するためにストップ損失ポイントを設定します.

  3. パラメータ設定を最適化します.ストカストリックRSIやMFIのパラメータを調整します.長さ,過剰購入/過剰販売ラインの位置など,パラメータ設定が市場状況により適するようにします.

  4. 市場状況に応じて戦略を動的に調整する.トレンドと統合市場を特定し,トレンド市場中にトレンドフォロー戦略を実行し,不必要な取引を避けるために統合市場中に戦略を無効にする.

  5. 自動最適化のための機械学習アルゴリズムを組み込む. 戦略の自動最適化を達成するためにバックテスト結果に基づいてパラメータとルールを動的に調整するために強化学習アルゴリズムを適用する.


/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © carterac

//@version=5
strategy("MFI and Stoch RSI Bot", overlay=true)

// Stochastic RSI settings
length = input(14, title="Stochastic RSI Length")
smoothK = input(3, title="Stochastic RSI K")
smoothD = input(3, title="Stochastic RSI D")

// Stochastic RSI overbought and oversold levels
stochRSIOverbought = input(70, title="Stochastic RSI Overbought Level")
stochRSIOversold = input(20, title="Stochastic RSI Oversold Level")

// Money Flow Index (MFI) settings
mfiLength = input(14, title="MFI Length")
mfiOverbought = input(70, title="MFI Overbought Level")
mfiOversold = input(20, title="MFI Oversold Level")

// Calculate RSI
rsiValue = ta.rsi(close, 11)

// Calculate Stochastic RSI
rsiHigh = ta.highest(rsiValue, 11)
rsiLow = ta.lowest(rsiValue, 7)
k = ta.sma(100 * (rsiValue - rsiLow) / (rsiHigh - rsiLow), 3)
d = ta.sma(k, 3)

// Calculate MFI
mfiValue = ta.mfi(volume, mfiLength)

// Determine buy and sell signals
buyCondition = ta.crossover(k, stochRSIOversold) or ta.crossover(mfiValue, mfiOversold)
sellCondition = ta.crossunder(k, stochRSIOverbought) or ta.crossunder(mfiValue, mfiOverbought)

// Plotting signals
plotshape(buyCondition, location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal")
plotshape(sellCondition, location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")

strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)


もっと