Cet article explique en détail une stratégie de trading quantitative à moyen et long terme utilisant les bandes de Bollinger.
I. Logique stratégique
La stratégie utilise principalement les indicateurs Bollinger Bands suivants:
Calculer le prix médian mobile comme référence sur une certaine période.
Calculer l'écart-type du prix et le multiplier par un facteur comme la plage.
La médiane ± représente les bandes supérieure et inférieure.
Les prix qui franchissent les bandes génèrent des signaux de trading.
La logique de négociation spécifique est la suivante:
Lorsque le prix franchit la bande inférieure, un signal d'achat est généré pour prendre des positions longues.
Lorsque le prix franchit la bande supérieure, un signal de vente est généré pour prendre des positions courtes.
Les bénéfices et les arrêts de perte sont fixés à des pourcentages fixes pour bloquer les bénéfices et les pertes.
Dans l'ensemble, la stratégie identifie les tendances à moyen et long terme en détectant les écarts de prix des bandes de Bollinger.
II. Avantages de la stratégie
Les principaux avantages de cette stratégie sont les suivants:
Tout d'abord, les bandes de Bollinger permettent d'identifier les écarts de prix et les renversements pour capturer les tendances à moyen et long terme.
Deuxièmement, les paramètres directes de stop loss et de prise de bénéfices aident à une gestion prudente de l'argent.
Enfin, des règles simples et claires facilitent la mise en œuvre et l'optimisation de cette stratégie.
III. Risques potentiels
Toutefois, il convient de noter les risques suivants:
Premièrement, les bandes doivent être optimisées précisément pour des signaux stables.
Deuxièmement, le stop loss implique des risques trop faibles, des bénéfices insuffisants, tandis qu'un risque trop élevé augmente.
Enfin, il convient d'éviter les échanges trop fréquents.
IV. Résumé
En résumé, cet article a expliqué une stratégie de trading quantitative à moyen et long terme utilisant des bandes de Bollinger pour suivre les tendances. Il peut suivre les tendances des prix à moyen et long terme, mais nécessite un ajustement des intervalles de bandes et des niveaux de stop loss.
/*backtest start: 2023-08-14 00:00:00 end: 2023-09-13 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //------------------------------------ // // 『おすすめストラテジーSS1』 // 『BitMEX XBTUSD 30分足向け中長期用ストラテジー』 // 本番用ストラテジーファイル // // // //------------------------------------ //【説明】 // 『おすすめストラテジーSS1』のPineスクリプトです。 //------------------------------------ //@version=3 // strategy(title = "『おすすめストラテジーSS1』", shorttitle="Strategy1", initial_capital=1200000, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.05, overlay=true) //------------------------------------ // //ストラテジーロジック // //------------------------------------ source = close length = input(51, minval = 1, title = "移動平均") mult = input(3.01, minval = 0.001,step=0.01, maxval = 10, title = "マルチ") Rikaku = input(14.2, minval = 0.1, step=0.1,maxval = 100, title = "利確(%)") Songiri = input(99, minval = 0.1, maxval = 100, title = "損切(%)") base = sma(source, length) range = mult * stdev(source, length) upper = base + range lower = base - range short_cond = crossover(source, lower) long_cond = crossunder(source, upper) cl = 0.0 cl := na(cl[1]) ? sma(source, length) : (cl[1] * (length - 1) + source) / length plot(cl, color=black) up_plot = plot(upper, color=blue) low_plot = plot(lower, color=red) fill(up_plot, low_plot,color=#009900) //------------------------------------ // //オーダー処理 // //------------------------------------ if (long_cond) strategy.entry("Long_Entry", strategy.long, oca_name="BollingerBands", comment="Long") //BitFlyerのようなJPY建ての場合は以下のコードを使います。他の通貨ペアにする場合も1ティックが異なるため桁数の変更が必要です。 //strategy.exit("LE Exit", "BBandLE", profit = close*(Rikaku/100)*100, loss = close*(Songiri/100)*100, comment="Close") strategy.exit("Long_Exit", "Long_Entry", profit = close*(Rikaku/100)*10, loss = close*(Songiri/100)*10, comment="LongClose") if (short_cond) strategy.entry("Short_Entry", strategy.short, oca_name="BollingerBands", comment="Short") //BitFlyerのようなJPY建ての場合は以下のコードを使います。他の通貨ペアにする場合も1ティックが異なるため桁数の変更が必要です。 //strategy.exit("SE Exit", "BBandSE", profit = close*(Rikaku/100)*100, loss = close*(Songiri/100)*100, comment="Close") strategy.exit("Short_Exit", "Short_Entry", profit = close*(Rikaku/100)*10, loss = close*(Songiri/100)*10, comment="ShortClose")