複数の技術指標に基づく定量的な傾向追跡戦略

作者: リン・ハーンチャオチャン開催日:2024-01-22 10:40:01
タグ:

img

概要

この戦略は,ボリンジャーバンド,ストカスティックオシレーター,相対強度指数などの複数の技術指標を組み合わせて,暗号資産の長期トレンド追跡操作のための購入・売却信号を設定する.この戦略は"多要素暗号定量戦略"と呼ばれる.

戦略原則

この戦略は,まずボリンジャーバンド,ストカスティックオシレーター,およびRSIなどの指標の計算パラメータを設定する. 買い信号は,ボリンジャー下帯以下に閉じる,K線が20以下とD線上にある,RSIが30以下である. 3つの条件が同時に満たされた場合,ロングに行く. 売り信号は,部分的に,前期のK線が70以上と70以下 (ゴールデンクロスデッドクロス) と定義され,RSIの差がある. この2つの条件が満たされた場合,ポジションの50%を閉じる.

利点分析

この戦略は,市場状況を判断するために複数の指標を組み合わせ,単一の指標による誤判を回避する.ボリンジャー帯が過売れているかどうかを判断するために,ストカスティックオシレーターが過売れているかどうかを判断するために,RSIが過売れているかどうかを判断するために.複数の指標の組み合わせ効果は,正確な長期にわたって市場の底部を効果的に特定することができます.また,この戦略は,遅れのストップ損失を避けるために潜在的なトレンド逆転を判断するために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)


もっと