Cette stratégie est une stratégie de suivi de tendance basée sur le principe du canal de prix. Elle calcule les prix les plus élevés et les plus bas au cours d'une certaine période historique pour former un canal de prix, et utilise les limites du canal comme signaux d'achat et de vente pour suivre les tendances des prix.
L'idée de base de la stratégie de canal de prix est la suivante: lorsque le prix de l'action est dans une tendance à la hausse, il franchira le plus haut historique; lorsqu'il est dans une tendance à la baisse, il franchira le plus bas historique. Par conséquent, un canal de prix peut être construit en fonction des prix les plus élevés et les plus bas au cours d'une certaine période historique (comme 21 jours). Les rails supérieurs et inférieurs du canal servent de signaux d'achat et de vente respectivement.
Plus précisément, cette stratégie utilise les fonctions les plus élevées et les plus basses pour calculer les prix les plus élevés et les plus bas au cours des 21 derniers jours afin de former un canal de prix. Si le prix de clôture de la journée est supérieur au maximum de 21 jours (c'est-à-dire en franchissant le rail supérieur du canal), un signal d'achat est généré. Si le prix de clôture est inférieur au minimum de 21 jours (c'est-à-dire en franchissant le rail inférieur), un signal de vente est généré.
En outre, la stratégie vérifie également les écarts pour juger des renversements de tendance potentiels. s'il y a un écart à la baisse, le canal de prix sera réglé sur le rouge pour couvrir les risques. s'il y a un écart à la hausse, il sera réglé sur le vert.
Les principaux avantages de la stratégie de canal de prix sont les suivants:
Cette stratégie comporte également certains risques:
Pour surmonter ces risques, les optimisations suivantes pourraient être envisagées:
Les principales orientations pour optimiser cette stratégie sont les suivantes:
La stratégie de canal de prix construit un canal simple en utilisant des pics et des creux historiques et utilise les limites du canal comme des signaux de trading. C'est une stratégie typique de suivi des tendances qui est facile à comprendre et à mettre en œuvre et peut suivre efficacement les tendances des prix, le canal de prix servant de mécanisme de stop loss. Cependant, il y a aussi des risques avec cette stratégie. Les principales dimensions d'optimisation incluent l'ajustement des paramètres, la combinaison d'autres indicateurs, la mise en œuvre de la prise de stop loss / profit, la paramétrisation dynamique, etc. Dans l'ensemble, la stratégie de canal de prix fournit un cadre simple et pratique de suivi des tendances pour le trading quantitatif, mais a besoin de nouvelles améliorations et optimisations pour obtenir de meilleures performances dans le trading en direct.
/*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)