Cette stratégie calcule les lignes moyennes mobiles du canal et établit des positions longues ou courtes lorsque le prix traverse les lignes du canal pour suivre la tendance du prix de l'action.
La stratégie calcule d'abord la moyenne haute de 20 jours comme la ligne supérieure du canal, la moyenne basse de 20 jours comme la ligne inférieure du canal, et calcule la ligne médiane du canal. La ligne médiane du canal représente la tendance récente du prix moyen. Lorsque le prix traverse la ligne médiane du canal vers le haut, une position longue est établie. Lorsque le prix traverse la ligne médiane du canal vers le bas, une position courte est établie. Suivez la tendance du prix jusqu'à ce que le prix recule du côté opposé de la plage du canal, fermez la position.
En général, cette stratégie est relativement simple et directe. Elle juge les tendances des cours des actions à travers les canaux de prix de base et appartient au type de tendance suivant. Les avantages sont une utilisation facile, une utilisation complète des opportunités d'investissement apportées par les tendances des prix et l'évitement des blocages de fonds. Les inconvénients sont que des paramètres inappropriés peuvent affecter les performances et qu'il existe certains risques de retrait.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //future strategy //strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2) //stock strategy strategy(title = "dc", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=.005) //forex strategy //strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true) //crypto strategy //strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 20, overlay = true, commission_type=strategy.commission.percent,commission_value=.25,default_qty_value=20) testStartYear = input(2000, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testEndYear = input(2019, "Backtest Start Year") testEndMonth = input(3) testEndDay = input(31, "Backtest Start Day") testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testPeriod() => true //time >= testPeriodStart ? true : false dcPeriod = 20 dcUpper = highest(close, dcPeriod)[1] dcLower = lowest(close, dcPeriod)[1] dcAverage = (dcUpper + dcLower) / 2 plot(dcLower, style=line, linewidth=3, color=red, offset=1) plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1) plot(dcAverage, color=black, style=line, linewidth=3, title="Mid-Line Average") strategy.entry("simpleBuy", strategy.long, when=close > dcAverage) strategy.close("simpleBuy",when=close < dcLower) strategy.entry("simpleSell", strategy.short,when=close < dcAverage) strategy.close("simpleSell",when=close > dcAverage)