
この策略は,価格チャネル原理に基づいて設計されたトレンド追跡策略である.それは,一定の歴史的周期内の最高価格と最低価格を計算することによって,価格チャネルを形成し,チャネル境界を買い売り信号として使用して,価格トレンドを追跡する目的を達成する.
価格チャネル戦略の核心思想は,株価が上昇傾向にあるとき,歴史的な高点を突破し,下降傾向にあるとき,歴史的な低点を突破するということです.したがって,特定の歴史的周期 (例えば21日) の最高価格と最低価格に基づいて価格チャネルを構築することができ,チャネルに沿って,それぞれ購入と販売の信号としてチャネルに沿って.
具体的には,この策略は,highest () とlowest () 関数を使用して,最近21日の最高値と最低値を計算して,価格チャネルを形成する.当日の閉店価格が最近21日の最高値 (すなわち,チャネルを突破する上方) よりも高い場合,買入シグナルを生成する.当日の閉店価格が最近21日の最低値 (すなわち,チャネルを突破する下方) よりも低い場合,売出シグナルを生成する.
さらに,この戦略は,トレンドの突破の可能性を判断するために,ギャップがあるかどうかをチェックします. 下向きのギャップがある場合は,リスクを防ぎ,価格通路を赤に設定します. 上向きのギャップがある場合は,緑に設定します.
価格チャネル戦略の主な利点は
この戦略にはいくつかのリスクがあります.
これらのリスクを克服するために,以下のような要素を最適化することが考えられます.
この戦略には,以下の主要な改善策があります.
価格チャネル戦略は,簡単な歴史的最高価格と最低価格を使用してチャネルを構築し,チャネル境界を取引信号として使用し,典型的なトレンド追跡戦略の1つです. この戦略は,理解しやすく,実行でき,価格トレンドを効果的に追跡することができ,価格チャネルを停止機能で設定できます. しかし,この戦略には一定のリスクもあります.
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//
// 作品: [LunaOwl] 樂活投資:價格通道
// 英文: [LunaOwl] LOHAS Investor - PriceChannel
//
///////////////////////////////
// ~~!!*(๑╹◡╹๑) ** //
// 製作: @LunaOwl 彭彭 //
// 一版: 2019年12月07日 //
// 二版: 2019年12月09日 //
///////////////////////////////
//
// 介紹:
//--價格通道是一個古老的投資策略,對於「肯做功課選股」的上班族投資人非常方便。
//--由於大多數股市散戶沒有時間操作,即時有時間操作也只是加快輸錢的速度,所以,
//--上班族投資法,或「樂活投資」的條件有幾點:
//--**********
//--1) 設定溫和的投資報酬率期望
//--2) 使用適合的選股方式建立投資組合,減少單一股票的失誤率
//--3) 使用簡單的進出場策略,規律的執行它
//--4) 財富依靠時間積累,每天學習
//--**********
//
//==定義回測條件==//
strategy("[LunaOwl] 價格通道",
initial_capital = 10000, commission_value = 0.07,
default_qty_type = strategy.percent_of_equity,
default_qty_value = 50, overlay = true,
calc_on_order_fills = true
)
//==設定價格通道==//
Channel_Price = input(close, title = "通道價格")
Channel_Length = input(21, title = "通道回溯長度")
Channel_High = highest(high, Channel_Length)
Channel_Low = lowest(low, Channel_Length)
gapUp = (low > high[1])
gapDown = (high < low[1])
BackgroundColour = (gapUp == true) ? color.green :
(gapDown == true) ? color.red : na
bgcolor(BackgroundColour, transp=60)
BorderlineA = plot(Channel_High, title = "通道上線", color = color.red, style = plot.style_line)
BorderlineB = plot(Channel_Low, title = "通道下線", color = color.blue, style = plot.style_line)
fill(BorderlineA, BorderlineB, title = "通道底色", color = color.gray, transp = 85)
Long_entry = close >= Channel_High
Long_close_all = close <= Channel_Low
if (not na(close[Channel_Length]))
strategy.entry("買入", strategy.long, comment = "高於近期", stop = Channel_High)
strategy.entry("賣出", strategy.short, comment = "低於近期", stop = Channel_Low)