この戦略は,RSI指数によって超買超売状況を判断し,ブリン帯の指数と協働して価格の振動通路で取引信号を形成する. RSI指数が超買または超売現象を示し,価格がブリン帯の下位に近づいたり触れたときに,買出信号を生成する. 戦略は,総合的なトレンド分析と振動判断,ダイナミックでチャンスを探す.
この戦略は以下の2つの指標に基づいて判断されます.
周期内における相対的に強い弱指数であるRSIを計算し,それが超買区か超売区に入っているかどうかを,超買区の上限が40で,超売区の下限が45で設定されたように,設定されたパラメータに基づいて判断する.
周期内のブリン帯を計算し,その上軌道と下軌道を通じて価格通路を形成し,価格の揺れの範囲を記述する.
この戦略は,次の取引ルールを提示しています.
RSIが45を突破して超売り区に入ると,価格がブルリン帯を突破して下落すると,買い信号が生じます. RSIが40を突破して超売り区に入ると,価格がブルリン帯を突破して軌道に乗ると,売り込みシグナルが生じます.
この戦略は,RSIとブリン帯の指標を組み合わせて,以下の利点があります.
RSIは超買い状態を判断し,ブリン帯は価格傾向の方向を判断し,両者は互いを補完する.
ブリン帯の上下線は,リスク管理に有利な止損位置位置として位置づけられる.
パラメータの設定はシンプルで,実行し,測定しやすい.
RSIのパラメータを最適化して,最適の超買超売区間を決定します.
市場環境に合わせて,異なる価格入力を選択できます.
この戦略にはいくつかのリスクがあります.
ブリン帯域の過幅により,ストップダメージの予想差が引き起こされた.
RSIパラメータが正しく設定されず,超買超売区間判断が間違っています.
市場を動かすために,市場を動かすために,市場を動かすために
損失を効果的にコントロールできず,大きな市場衝撃の停止リスクがある
この戦略は以下の点で最適化できます.
RSIパラメータを最適化して,最適の超買超売区間を決定します.
ブリン帯域幅のパラメータを最適化し,止損範囲を制御する
変化の兆しを見逃さないために,他の指標を足す.
機械学習のアルゴリズムで 買い物や売却のタイミングを判断
異なる市場状況に応じて異なるパラメータの組み合わせを使用する
ダイナミック・ストップ・メカニズムの追加
開発パラメータの自動最適化プログラム
全体として,この戦略は,RSIとブリン帯の指標の配合による使用により,比較的安定した取引意思決定の根拠を形成する.戦略の論理は単純で明確で,リスク管理に有利だが,ある程度の最適化余地もある.パラメータ最適化,止損最適化,アルゴリズムの導入などの方法によって,戦略の効果をさらに強化し,複雑な市場環境に適したものにすることができる.この戦略は,取引システムの構築のためのアイデアを提供し,さらなる研究と応用に値する.
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Mdemoio
//@version=4
strategy("Madri", shorttitle="Madri", overlay=true)
// Version 1.1
///////////// RSI
RSIlength = input(2,title="A")
RSIoverSold = 45
RSIoverBought = 40
price = close
vrsi = rsi(price, RSIlength)
///////////// Bollinger Bands
BBlength = input(150, minval=1,title="B")
BBmult = 2// input(2.0, minval=0.001, maxval=50,title="Bollinger Bands Standard Deviation")
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
source = close
buyEntry = crossover(source, BBlower)
sellEntry = crossunder(source, BBupper)
///////////// Colors
//switch1=input(true, title="Enable Bar Color?")
//switch2=input(true, title="Enable Background Color?")
//TrendColor = RSIoverBought and (price[1] > BBupper and price < BBupper) and BBbasis < BBbasis[1] ? red : RSIoverSold and (price[1] < BBlower and price > BBlower) and BBbasis > BBbasis[1] ? green : na
//barcolor(switch1?TrendColor:na)
//bgcolor(switch2?TrendColor:na,transp=50)
///////////// RSI + Bollinger Bands Strategy
if (not na(vrsi))
if (crossover(vrsi, RSIoverSold) and crossover(source, BBlower))
strategy.entry("RSI_BB_L", strategy.long, stop=BBlower, comment="Buy")
else
strategy.cancel(id="RSI_BB_L")
if (crossunder(vrsi, RSIoverBought) and crossunder(source, BBupper))
strategy.entry("RSI_BB_S", strategy.short, stop=BBupper, comment="Sell")
else
strategy.cancel(id="RSI_BB_S")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)