この戦略はブリン帯指数とストックRSI指数を融合し,多指数組合せ取引を実現する.これは典型的な組合せ指数戦略のタイプである.戦略はブリン帯を介してトレンドの方向を判断し,ストックRSIの入場タイミングを最適化し,取引信号の生成を実現する.
この戦略は,以下の2つの指標に基づいて判断されます.
ブリン帯の上線,中線,下線を計算する. 価格が下線から上方突破すると買取シグナルが生成される.
ストーフ RSIの計算は,K線がD線を横切るときに買い信号を生成する.
具体的取引の論理は: ブリン帯の上線突破とストックRSI指標金叉を同時に満たしたときに,買入してポジションを開く.
平準ポジション条件は,止まりまたは止損:価格がブリン帯を上線または中線に再触したとき,平準ポジションを止めて;価格がブリン帯を下線に再触したとき,平準ポジションを止めて.
リスクを下げるには,以下の措置を講じます.
この戦略は以下の点で最適化できます.
軌道上下計算の比率を調整し,最適なパラメータを探します.
値が一致するK値とD値を探します.
単一の指標に 頼るだけで 偽信号を避ける
価格変動によるトレーリングストップ
異なる品種のパラメータは必ずしも同じではないので,それぞれに最適化する必要があります.
この戦略は,ブリン帯判断トレンド方向,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")