L'idée de base de cette stratégie est de prendre des décisions commerciales basées sur les écarts de prix des canaux Donchian. Elle appartient à la tendance suivante de type de stratégies quantitatives. Elle peut identifier automatiquement les canaux de prix. Lorsque les prix franchissent le rail supérieur du canal, des positions longues seront ouvertes. Lorsque les prix reculent près du rail inférieur du canal ou du point de stop loss, les positions seront fermées. Cette stratégie vise à capturer les tendances des prix à moyen et long terme et convient au trading algorithmique de produits financiers dérivés tels que les contrats à terme sur indices.
Cette stratégie est basée sur l'indicateur Donchian Channels. Les canaux Donchian sont des canaux tirés par les prix les plus élevés et les plus bas au cours d'une période donnée.
Résultats de l'évaluation de la valeur ajoutée Lower Rail = Prix le plus bas au cours des n dernières périodes
Lorsque les prix franchissent le rail supérieur, on considère qu'une tendance longue a commencé. Lorsque les prix franchissent le rail inférieur, on considère qu'une tendance courte a commencé.
La logique de négociation spécifique est la suivante:
Les avantages de cette stratégie sont les suivants:
Il y a aussi des risques:
Les solutions:
Cette stratégie peut être encore optimisée dans les domaines suivants:
L'idée générale de cette stratégie est claire et facile à comprendre et à mettre en œuvre. Elle utilise des canaux Donchian matures pour identifier automatiquement la direction de la tendance. La configuration est également très flexible pour répondre à différents besoins. Avec un stop loss et une optimisation des paramètres appropriés, de bons résultats peuvent être obtenus. En conclusion, cette stratégie a une courbe d'apprentissage faible mais une efficacité raisonnable.
/*backtest start: 2022-12-07 00:00:00 end: 2023-12-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Giovanni_Trombetta // Strategy to capture price channel breakouts //@version=4 strategy("ChannelsBreakout", max_bars_back=50, overlay=true) instrument = input(1, title = "Select 1: Stock/Forex, 2: Future") money = input(10000, title = "Money for each trade") backtest_start = input(2000, "Insert first year to backtest") period = input(50, title = "Period in bars of Donchian Channel") monetary_stoploss = input(1000, title = "Monetary Stop Loss") quantity = if instrument != 1 1 else int(money / close) upBarrier = highest(high,period) downBarrier = lowest(low,period) up = highest(high,period / 4) down = lowest(low,period / 4) plot(upBarrier, color=color.green, linewidth=2) plot(downBarrier, color=color.red, linewidth=2) plot(up, color=color.lime, linewidth=1) plot(down, color=color.orange, linewidth=2) longCondition = crossover(close, upBarrier[1]) and year >= backtest_start if (longCondition) strategy.entry("Long", strategy.long, quantity, when = strategy.position_size == 0) closeCondition = crossunder(close, down[1]) or down < down[1] if (closeCondition) strategy.close("Long", comment = "Trailing") stop_level = strategy.position_avg_price - monetary_stoploss / strategy.position_size strategy.exit("StopLoss", from_entry = "Long", stop = stop_level) plot(stop_level, color=color.yellow, linewidth=2) // l = label.new(bar_index, na, // text="PineScript Code", color= color.lime, textcolor = color.white, // style=label.style_labelup, yloc=yloc.belowbar, size=size.normal) // label.delete(l[1])