この戦略は,ボール帯の指標設計に基づいており,価格がボール帯を突破して下軌道に乗るとき,それに応じて多かれ少なかれの操作が行われます. 戦略は,突破の動きを捉えることで利益を得ます.
具体的には,この戦略は最初に長さである中道SMAを計算し,また,標準差の複数倍で計算された上下道を行います. 閉盘価格が下から上へ下線を突破すると,多入場を行います. 上から下へ上線を突破すると,空き入場を行います. 同時に,止まり時間制限の取引区間を設定します.
この戦略は,価格が上下軌道突破した後の拡大状況を捉えようとする.下下軌道突破時に多方勢力が強化され,上下軌道突破時に空側勢力が強化され,取引は同じ方向に有利である.
入場条件の最適化,ストップ・ロスの追加,トレンド・フィルターの導入などにより,上記のリスクを低減することができる.
この戦略は,ボール帯に基づく突破策であり,突破が展開するトレンドを捕捉して利益を得る.優点は,アイデアがシンプルで,実行しやすいこと;欠点は,曲折トレンドの誤導に容易である.パラメータ最適化,ストップ・ロズ戦略,取引時間制御などの方法で戦略の効果を高め,リスクを制御することができる.この戦略は,トレーダーが指標の適用と突破取引の基本的な方法を理解できるようにする.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy("Noro's Bollinger Strategy v1.0", shorttitle = "Bollinger str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
length = input(20, minval=1)
mult = input(1.0, minval=0.001, maxval=50)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
source = close
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
up = close < lower
dn = close > upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
strategy.close_all()