価格チャネルによって導かれる価格逆転戦略は,価格チャネルの中央線を計算して価格変動の傾向方向を決定する.価格がチャネルの中央線に近づくと,長短信号を生成する.この戦略は,複数のフィルター条件を組み合わせて,高い確率の取引機会を探します.
この戦略のコア指標は価格チャネルの中央線である.最近30のキャンドルスタイルの最高価格と最低価格の平均値として計算される.低値が中央線よりも高くなった場合,上昇傾向とみなされる.高値が中央線よりも低くなった場合,下落傾向とみなされる.
この戦略は,トレンドバックグラウンドが変化するときにのみ取引信号を生成する.つまり,上昇傾向背景では,キャンドルスティックが赤に変わるときにのみショートになります.下落傾向背景では,キャンドルスティックが緑に変わるときにのみロングになります.
さらに,この戦略は,ダブルフィルター条件も設定している:キャンドルスタイルのボディフィルターと価格チャネルバーフィルター.キャンドルスタイルのボディボリュームが平均値の20%を超える場合にのみシグナルがトリガーされ,シグナルをオープンするにはフィルターサイクル内で連続したトレンド信号が必要である.
この戦略は,トレンド,値エリア,キャンドルスタイクパターンを組み合わせ,効率的な逆転取引戦略です.主な利点は:
この戦略の主なリスクは,価格の逆転点が欠落し,信号を不必要に待つことにある.この戦略は,次の方法で最適化することができます:
この戦略は,次の側面で最適化できます.
価格チャネルによって導かれる価格逆転戦略は,価格チャネルを通じて逆転点を決定し,高品質のシグナルを生成するためにダブルフィルター条件を設定する.パラメータ調整とリスク管理に基づいて,信頼性の高い定量戦略である.
/*backtest start: 2023-11-19 00:00:00 end: 2023-11-26 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's PriceChannel for D1 v1.0", shorttitle = "PriceChannel D1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0) //Settings needlong = input(true, "long") needshort = input(true, "short") slowlen = input(30, defval = 30, minval = 2, maxval = 200, title = "PriceChannel Period") pcbars = input(1, defval = 1, minval = 1, maxval = 20, title = "PriceChannel Bars") usecol = input(true, "Use color-filter") usebod = input(true, "Use body-filter") needbg = input(false, defval = false, title = "Need trend Background?") 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") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") src = close //PriceChannel lasthigh = highest(src, slowlen) lastlow = lowest(src, slowlen) center = (lasthigh + lastlow) / 2 //Trend ub = low > center ? 1 : 0 db = high < center ? 1 : 0 trend = sma(ub, pcbars) == 1 ? 1 : sma(db, pcbars) == 1 ? -1 : trend[1] //Body body = abs(close - open) abody = sma(body, 10) //Signals up = trend == 1 and (close < open or usecol == false) and (body > abody / 5 or usebod == false) dn = trend == -1 and (close > open or usecol == false) and (body > abody / 5 or usebod == false) //Lines plot(center, color = blue, linewidth = 3, transp = 0, title = "PriceChannel Center") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Trading if up strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()