複数の技術指標を組み合わせたトレンド追跡型量化戦略


作成日: 2024-01-22 10:40:01 ニュース この記事へのトラックバック一覧です. 2024-01-22 10:40:01 ニュース
コピー: ゼロ クリック数: 283名
1
懸念
1105
フォローする

多重技术指标配合的趋势追踪型量化策略

概要

この戦略は,ブレインバンド,ランダムオキシレーター,相対強弱指数などの複数の技術指標を組み合わせて,購入信号と売却信号を設定することで,暗号通貨などの資産に対する長距離追跡操作を実現する.戦略名は"多因子暗号通貨量化戦略"と定められている.

戦略の原理

戦略は,最初にブリンズ帯,ランダムオシレーター,RSIなどの指標の計算パラメータを設定する. その後,購入信号条件を定義します. 閉じる価格はブリンズ帯の下線,K線は20以下,D線は20以上,RSIは30以下. これら3つの条件が同時に満たされた場合,ロングする. 定義部分販売信号は:K線は70以上,前期は70以下 ((金)),RSI離線がある場合. この2つの条件が満たされた場合,平衡50%です.

優位性分析

この戦略は,複数の指標を組み合わせて市場状況を判断し,単一の指標による誤判を避ける. ブリンバンドが超落,ランダムオシャレータが超売,RSIが超oversoldを判断する.複数の指標が共同で作用し,市場の低谷を効果的に識別し,正確に行う.また,戦略はRSIの逸脱を利用し,潜在的なトレンド逆転を判断し,遅れのストップ損失を防ぐ.したがって,この戦略は,高い買い上げの機会をよりうまく把握することができます.

リスク分析

この戦略は,パラメータ最適化に依存し,パラメータを正しく設定しなければ,低谷と高峰を正しく認識できない.さらに,指標の間に間違った組み合わせがある場合もある.例えば,ブリンズ帯が超低谷を認識するが,他の指標が相応の条件を満たしていない場合もある.これらの状況はすべて,不要な損失を引き起こす可能性がある.最後に,戦略は最大引き戻しと倉庫位置管理の問題を考慮していない.これは最適化が必要な方向でもある.

優化方向

  1. 指標パラメータをテストし最適化して最適なパラメータ組み合わせを見つけます.

  2. 最大引き下げ制御を増やし,引き下げ値に達すると取引を一時停止する.

  3. ポジション管理モジュールを追加し,市場の状況に応じてポジションを動的に調整します.初期ポジションは小さく,後期にはポジションを拡大することができます.

  4. ストップ損失戦略を追加します. 市場方向が誤った判断をすると,合理的なストップ損失点を設定し,単一の損失を制御します.

概要

この戦略は,全体的に考えれば明確で,複数の指標によって判断され,低谷高谷を把握する能力は強い.しかし,いくつかのパラメータやモジュールの最適化にも余地があり,適切に調整された場合,安定した利益をもたらす定量化戦略になる.

策略ソースコード
                
                    /*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Stratégie d'Entrée et de Sortie Longue", overlay=true)

// Paramètres des indicateurs
longueurBollinger = 20
stdDevBollinger = 2
longueurStochastic = 14
smoothK = 3
smoothD = 3
longueurRSI = 14

// Bollinger Bands
basis = ta.sma(close, longueurBollinger)
dev = ta.stdev(close, longueurBollinger)
lowerBand = basis - stdDevBollinger * dev

// Stochastic Oscillator
k = ta.sma(ta.stoch(close, high, low, longueurStochastic), smoothK)
d = ta.sma(k, smoothD)

// RSI
rsi = ta.rsi(close, longueurRSI)

// Logique des autres indicateurs (à compléter)

// Conditions d'entrée (à définir)
conditionBollinger = close < lowerBand
conditionStochastic = k < 20 and k > d
conditionRSI = rsi < 30
// Autres conditions (Braid Filter, VolumeBIS, Price Density...)

conditionEntree = conditionBollinger and conditionStochastic and conditionRSI // et autres conditions

// Exécution du trade (entrée)
if (conditionEntree)
    strategy.entry("Long Position", strategy.long)

// Conditions de sortie
stochCrossOver70 = k > 70 and k[1] <= 70

// Simplification de la détection de divergence baissière
// (Cette méthode est basique et devrait être raffinée pour une analyse précise)
highsRising = high > high[1]
lowsRising = low > low[1]
rsiFalling = rsi < rsi[1]
divergenceBearish = highsRising and lowsRising and rsiFalling

// Clôturer la moitié de la position
if (stochCrossOver70 and divergenceBearish)
    strategy.close("Long Position", qty_percent = 50)

                
            
もっと見る