La stratégie de Richard pour le commerce des tortues

Auteur:ChaoZhang est là., Date: 2024-02-06 11:56:47 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie de trading de la tortue de Richard est une stratégie de trading basée sur les techniques de trading de la tortue de Richard Dennis.

La logique de la stratégie

La logique de base de la stratégie de trading de la tortue de Richard est de suivre les tendances basées sur les ruptures de prix. Plus précisément, la stratégie surveille en permanence les prix les plus élevés (_20_day_highest) et les plus bas (_20_day_lowest) au cours des 20 derniers jours. Lorsque le prix de clôture franchit le plus haut de 20 jours, il signale une percée ascendante, déclenchant un ordre long. Lorsque le prix de clôture tombe en dessous du plus bas de 20 jours, il signale une percée descendante, déclenchant un ordre court.

Après avoir entré des positions, la stratégie utilise la plage moyenne vraie (ATR) pour calculer le prix du stop loss. Elle suit également les prix les plus élevés et les plus bas de 10 jours pour le stop loss de glissement.

Les avantages

La stratégie commerciale de Richard présente les avantages suivants:

  1. Il suit automatiquement les tendances à l'aide des écarts de prix. Il peut identifier automatiquement les inversions de tendance et ajuster les positions en conséquence.
  2. Le mécanisme de stop loss ATR contrôle efficacement la perte d'arrêt unique.
  3. Le mécanisme d'arrêt des pertes par glissement bloque certains bénéfices et réduit les retraits.
  4. La logique de la stratégie est simple et facile à comprendre pour les débutants.
  5. Pas besoin de prédire les tendances du marché ou de calculs complexes, juste un simple trading basé sur des règles.

Les risques

Il y a aussi des risques avec la stratégie de Richard pour le commerce des tortues:

  1. Les opérations de rupture sont sujettes à être piégées, générant parfois une fréquence de négociation excessive.
  2. L'ATR et le stop loss par glissement peuvent être trop stricts, provoquant parfois un stop loss prématuré.
  3. Il utilise uniquement les données sur les prix sans combiner d'autres facteurs pour prédire la continuité de la tendance.
  4. Le risque de surentraînement, les résultats commerciaux réels peuvent être faibles.

Pour atténuer ces risques, nous pouvons optimiser les conditions d'entrée avec plus d'indicateurs pour prédire les tendances; ajuster les algorithmes de stop loss pour réduire la fréquence de stop loss.

Directions d'optimisation

La stratégie de Richard en matière de commerce des tortues peut être optimisée dans les aspects suivants:

  1. Optimiser les paramètres pour trouver les combinaisons optimales de paramètres, par exemple en ajustant le cycle de calcul ou en testant différents multiples ATR.
  2. Incorporer plus d'indicateurs ou d'algorithmes d'apprentissage automatique pour juger de la continuité de la tendance, tels que les moyennes mobiles, les indicateurs de dynamique, etc.
  3. Optimiser les méthodes d'arrêt des pertes, telles que le test de l'arrêt des pertes par glissement flexible, l'arrêt des pertes par traînée, etc.
  4. Combinez des indicateurs de sentiment, des nouvelles et plus d'informations pour prédire les mouvements du marché.

Conclusion

La stratégie de trading de la tortue de Richard est une stratégie de suivi de tendance de rupture très typique. Elle est simple et pratique, bonne à apprendre pour les débutants, et un paradigme de trading quantique.


/*backtest
start: 2023-02-05 00:00:00
end: 2024-02-05 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/
// © melodyera0822

//@version=4
strategy("Richard Strategy", overlay=true)

// User input
variable_for_stoploss = input(4,title="stop loss var")
lenght = input(20,title="lenght")

// high_low
_20_day_highest = highest(nz(close[1]), lenght)
_20_day_lowest = lowest(nz(close[1]), lenght)

_10_day_low = lowest(nz(close[1]), lenght/2)
_10_day_high = highest(nz(close[1]), lenght/2)

//indicators
atr20 = atr(20)
ema_atr20 = ema(atr20,20)

//vars
var traded = "false"
var buy_sell = "none"
var buyExit = false
var sellExit = false
var stoploss = 0

buyCon = close > _20_day_highest and traded == "false"
plotshape(buyCon,style = shape.triangleup,location = location.belowbar, color = color.green )
if (buyCon)
    strategy.entry("long", strategy.long, when = buyCon)
    traded := "true"
    buy_sell := "buy"
    stoploss := round(close - variable_for_stoploss * ema_atr20)
    
sellCon = close < _20_day_lowest and  traded == "false"
plotshape(sellCon,style = shape.triangledown, color = color.red )
if (sellCon)
    strategy.entry("short", strategy.short)
    traded := "true"
    buy_sell := "sell"
    stoploss := round(close - variable_for_stoploss * ema_atr20)

if traded == "true"
    if buy_sell == "buy" and ((close<stoploss)or(close<_10_day_low))
        strategy.close("long")
        buyExit := true
        traded := "false"
        
    if buy_sell == "sell" and ((close>stoploss)or(close>_10_day_high))
        strategy.close("short")
        sellExit := true
        traded := "false"
        
plotshape(buyExit,style = shape.triangleup,location = location.belowbar, color = color.yellow )
buyExit := false
plotshape(sellExit,style = shape.triangledown, color = color.yellow )
sellExit := false

Plus de