ボリンジャーバンドとストフRSI取引戦略


作成日: 2023-09-21 21:02:02 最終変更日: 2023-09-21 21:02:02
コピー: 2 クリック数: 1201
1
フォロー
1617
フォロワー

概要

この戦略はブリン帯指数とストックRSI指数を融合し,多指数組合せ取引を実現する.これは典型的な組合せ指数戦略のタイプである.戦略はブリン帯を介してトレンドの方向を判断し,ストックRSIの入場タイミングを最適化し,取引信号の生成を実現する.

戦略原則

この戦略は,以下の2つの指標に基づいて判断されます.

  1. ブリン帯

ブリン帯の上線,中線,下線を計算する. 価格が下線から上方突破すると買取シグナルが生成される.

  1. Stoch RSI

ストーフ RSIの計算は,K線がD線を横切るときに買い信号を生成する.

具体的取引の論理は: ブリン帯の上線突破とストックRSI指標金叉を同時に満たしたときに,買入してポジションを開く.

平準ポジション条件は,止まりまたは止損:価格がブリン帯を上線または中線に再触したとき,平準ポジションを止めて;価格がブリン帯を下線に再触したとき,平準ポジションを止めて.

戦略的優位性

  • ブリン帯とストックRSIの組み合わせ
  • ブルインはトレンドを判断し,ストッチRSIはエントリーポイントを最適化
  • ストックRSIは,偽の突破を有効にフィルターします.
  • 中線と下線の停止停止,リスクコントロールが置かれ
  • 複数のパラメータを調整し,市場に対応して最適化できます.

戦略リスク

  • 平均指数が遅れて,ベスト入場を逃す可能性
  • 緊急事態への対応が遅いのは指標だけで
  • ブリン帯域の設定が不適切で,止損が効かない
  • Stoch RSI パラメータが誤って設定され,偽信号が多すぎます
  • 異なる品種に対して異なるテストパラメータが必要

リスクを下げるには,以下の措置を講じます.

  • パラメータを最適化し,入場の精度を向上させる
  • 他の波指標の追加を検討
  • ブリン帯のストップの代わりにストップ追跡を設定する
  • 異なる品種特性の異なるテストパラメータ
  • ポジション管理システムの適切な調整

最適化の方向

この戦略は以下の点で最適化できます.

  1. ブリン帯のパラメータを最適化

軌道上下計算の比率を調整し,最適なパラメータを探します.

  1. ストック RSI 参数最適化

値が一致するK値とD値を探します.

  1. MACDなどの指標への二次確認

単一の指標に 頼るだけで 偽信号を避ける

  1. 固定ストップの代わりにストップストップの追跡ストップを使用する

価格変動によるトレーリングストップ

  1. 異なる品種によるテストパラメータの組み合わせ

異なる品種のパラメータは必ずしも同じではないので,それぞれに最適化する必要があります.

要約する

この戦略は,ブリン帯判断トレンド方向,Stoch RSIの入場タイミングの最適化によって,複数の指標の組み合わせによってもたらされる取引の優位性を実現する.しかし,パラメータの最適化が困難であり,信号の正確性が改善されるなどの問題もあります.我々は,厳格な反測によってパラメータを最適化し,確認指標にフィルターを加え,反測結果に応じて戦略のルールを継続的に修正し,信号の正確性を向上させながら,組み合わせ指数の組み合わせの判断の優位性を維持することができます.継続的な学習と最適化のみが,戦略をより安定的かつ信頼性のあるものにすることができます.

ストラテジーソースコード
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "BB+RSI v2", overlay = true)

price=close
////////// ///////  BB /////////////////////////

bblength = input(50)
bbupmult =input(2,step=0.1,title="Multiplier for BB Upper Band")
bblowmult = input(2,step=0.1,title="Multiplier for BB Lower Band")

basis =  sma(close,bblength)

devup = bbupmult * stdev(close, bblength)
devlow = bblowmult * stdev(close, bblength)

upper = basis + devup
lower = basis - devlow
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)


bbbuy= crossover(price,lower)
bbsell = crossunder(price,upper) or price>upper or crossunder(price,basis)



//////////////////// BB //////////////////////




////////////////////////  S RSI  /////////////////////

lengthrsi = input(6)
overSold = input( 20 )
overBought = input( 70 )
vrsi = rsi(price, lengthrsi)

smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)

SRSIbuy=crossover(k,d)

////////////////////// S  RSI  ///////////////////////

// Conditions



longcond = bbbuy and SRSIbuy
closelong = bbsell


monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longcond ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( closelong  ) 

    strategy.close("BUY")