この戦略は,ブレインバンド,ランダムオキシレーター,相対強弱指数などの複数の技術指標を組み合わせて,購入信号と売却信号を設定することで,暗号通貨などの資産に対する長距離追跡操作を実現する.戦略名は"多因子暗号通貨量化戦略"と定められている.
戦略は,最初にブリンズ帯,ランダムオシレーター,RSIなどの指標の計算パラメータを設定する. その後,購入信号条件を定義します. 閉じる価格はブリンズ帯の下線,K線は20以下,D線は20以上,RSIは30以下. これら3つの条件が同時に満たされた場合,ロングする. 定義部分販売信号は:K線は70以上,前期は70以下 ((金
この戦略は,複数の指標を組み合わせて市場状況を判断し,単一の指標による誤判を避ける. ブリンバンドが超落,ランダムオシャレータが超売,RSIが超oversoldを判断する.複数の指標が共同で作用し,市場の低谷を効果的に識別し,正確に行う.また,戦略はRSIの逸脱を利用し,潜在的なトレンド逆転を判断し,遅れのストップ損失を防ぐ.したがって,この戦略は,高い買い上げの機会をよりうまく把握することができます.
この戦略は,パラメータ最適化に依存し,パラメータを正しく設定しなければ,低谷と高峰を正しく認識できない.さらに,指標の間に間違った組み合わせがある場合もある.例えば,ブリンズ帯が超低谷を認識するが,他の指標が相応の条件を満たしていない場合もある.これらの状況はすべて,不要な損失を引き起こす可能性がある.最後に,戦略は最大引き戻しと倉庫位置管理の問題を考慮していない.これは最適化が必要な方向でもある.
指標パラメータをテストし最適化して最適なパラメータ組み合わせを見つけます.
最大引き下げ制御を増やし,引き下げ値に達すると取引を一時停止する.
ポジション管理モジュールを追加し,市場の状況に応じてポジションを動的に調整します.初期ポジションは小さく,後期にはポジションを拡大することができます.
ストップ損失戦略を追加します. 市場方向が誤った判断をすると,合理的なストップ損失点を設定し,単一の損失を制御します.
この戦略は,全体的に考えれば明確で,複数の指標によって判断され,低谷高谷を把握する能力は強い.しかし,いくつかのパラメータやモジュールの最適化にも余地があり,適切に調整された場合,安定した利益をもたらす定量化戦略になる.
/*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)