Stratégie commerciale de la tortue basée sur les canaux de Donchian

Auteur:ChaoZhang est là., Date: 2023-12-25 10:57:52 Je suis désolé
Les étiquettes:

img

Résumé

Le nom de cette stratégie est Turtle Trading Strategy Based on Donchian Channels. Elle emprunte l'idée principale des célèbres Turtle Trading Rules et utilise les canaux de Donchian pour déterminer les tendances du marché, combinées à des moyennes mobiles pour la filtration, réalisant une stratégie de suivi de tendance relativement simple.

Principe de stratégie

L'indicateur principal de jugement de cette stratégie est le canal de Donchian. Le canal de Donchian se compose de la plage fluctuante des prix les plus élevés et les plus bas dans la période de N jours. Si le prix traverse le rail supérieur du canal, ce sera un signal long; s'il traverse le rail inférieur du canal, ce sera un signal court. Cette stratégie utilise le canal de Donchian rapide (10 jours) pour émettre des signaux et le canal de Donchian lent (20 jours) pour arrêter la perte.

En outre, cette stratégie introduit également deux lignes moyennes mobiles (ligne de 50 jours et ligne de 125 jours) pour filtrer les signaux. Seulement lorsque la ligne moyenne mobile rapide traverse au-dessus de la ligne moyenne mobile lente, les positions longues seront négociées; Seulement lorsque la ligne moyenne mobile rapide traverse en dessous de la ligne moyenne mobile lente, les positions courtes seront négociées. Cela peut filtrer efficacement certains faux signaux.

Les conditions d'ouverture de cette stratégie sont les suivantes: le prix franchit la ligne supérieure du canal de Donchian, et la ligne moyenne mobile rapide traverse la ligne moyenne mobile lente. Lorsque les deux conditions sont remplies, les positions longues seront ouvertes; le prix franchit la ligne inférieure du canal de Donchian, et la ligne moyenne mobile rapide traverse la ligne moyenne mobile lente, puis ouvre des positions courtes. Les conditions de clôture sont lorsque le prix touche les limites opposées du canal de Donchian lent.

Analyse des avantages

Les avantages de cette stratégie sont les suivants:

  1. En utilisant le canal de Donchian pour déterminer la direction de la tendance, l'effet de backtest est meilleur pour capturer avec succès la grande tendance;

  2. L'ajout du filtre de moyenne mobile peut filtrer certains faux signaux et éviter les pertes;

  3. La combinaison de canaux Donchain rapides et lents et de moyennes mobiles peut équilibrer la fréquence de négociation et la précision du stop loss;

  4. Le risque est bien contrôlé avec un mécanisme de stop loss pour contrôler une seule perte.

Analyse des risques

Quelques risques de cette stratégie:

  1. Sur le marché du choc, il peut y avoir plus de petits ordres perdants;

  2. Lorsqu'un renversement de tendance se produit, le filtrage des moyennes mobiles augmentera les coûts d'ouverture;

  3. Dans les marchés abrupts, le stop loss peut être poursuivi.

Contre-mesures et solutions

  1. Ajuster les paramètres de manière appropriée, raccourcir le cycle de Donchian, réduire le cycle de la moyenne mobile pour s'adapter aux différents marchés.

  2. Augmenter le jugement sur la tendance majeure pour éviter de construire des positions contre la tendance majeure.

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Augmenter la force de la percée. par exemple, introduire le volume, ouvrir des positions seulement lorsque le volume augmente;

  2. Augmenter le jugement des zones chaudes. combiner avec le soutien, la pression, les bandes, les motifs, etc. pour éviter les zones chaudes lors de l'ouverture des positions;

  3. Optimiser les stratégies de stop loss. Introduire le suivi stop loss, volatilité stop loss, temps stop loss, etc. pour rendre le stop loss plus intelligent.

Résumé

En général, cette stratégie est une stratégie de suivi de tendance très typique et simple. Elle réalise de bons résultats de backtest en déterminant la direction à travers le canal Donchian et en filtrant les signaux à travers les moyennes mobiles. Cette stratégie convient aux investisseurs qui poursuivent de grandes tendances, avec un bon contrôle des risques et facile à mettre en œuvre dans le trading réel. En optimisant certains paramètres et règles, le taux de gain et la rentabilité peuvent être encore améliorés.


/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Coded by Vladkos
strategy("Donchian strategy with filter", overlay=true,default_qty_type = strategy.percent_of_equity, default_qty_value = 4,pyramiding=5)

fromyear = input(2017, defval = 2018, minval = 1800, 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(21, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
term = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))
ATR=input(20,minval=1)
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
needstoploss= input(true,defval=true,title="Stop LOSS")
///////////ATR
tra=atr(ATR)


////////////Переменные
Donchian_slow=input(20,minval=1)
Donchian_fast=input(10,minval=1)
Slow_EMA=input(125,minval=1)
Fast_EMA=input(50,minval=1)

/////////// Медленный Дончан
lower = lowest(Donchian_slow)
upper = highest(Donchian_slow)
basis = avg(upper, lower)
plot(lower,color=blue)
plot(upper,color=blue)

/////////// быстрый Дончан
lowerF = lowest(Donchian_fast)
upperF = highest(Donchian_fast)
basisF = avg(upperF, lowerF)
plot(lowerF,color=red)
plot(upperF,color=red)

////////// Скользящие средние
ema_S=ema(close,Slow_EMA)
ema_F=ema(close,Fast_EMA)
plot(ema_S,color=red)
plot(ema_F,color=green)

///////// Условия сделок
long_condition= close>=upper[1] and ema_F>ema_S  
long_exit= close<lowerF[1]

short_condition=close<=lower[1] and ema_F<ema_S
short_exit=close>upperF[1]

////////// Отправка ордеров
strategy.entry("Long",strategy.long,when=long_condition and term and needlong==true)
strategy.exit("stop loss","Long",stop=strategy.position_avg_price-(tra*2),when= (needstoploss==true))
strategy.close("Long",when=long_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))
    
strategy.entry("Short",strategy.short,when=short_condition and term and (needshort==true))
strategy.exit("stoploss","Short",stop=strategy.position_avg_price+(tra*2),when= (needstoploss==true))
strategy.close("Short",when=short_exit and (time < timestamp(toyear, tomonth, today, 23, 59)))

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()






Plus de