Stratégie de suivi de tendance basée sur le ratio de retracement


Date de création: 2023-09-14 19:49:14 Dernière modification: 2023-09-14 19:49:14
Copier: 1 Nombre de clics: 643
1
Suivre
1617
Abonnés

Cet article décrit en détail une stratégie de trading quantitatif basée sur le taux de rétrocession pour suivre la tendance. Cette stratégie consiste à identifier les hauts locaux et à marquer l’entrée à un certain taux de rétrocession.

Premièrement, les principes stratégiques

La logique centrale de la stratégie est d’identifier les prix les plus élevés d’une période donnée, puis de suivre les transactions à des positions de reprise proportionnelles. Les étapes sont les suivantes:

  1. On calcule d’abord le plus haut des 90 dernières lignes K, comme point le plus élevé local;

  2. Le suivi des achats est effectué lorsque le prix revient d’un certain pourcentage (par exemple 3%) de ce sommet.

  3. Le stop-loss est défini comme une hausse d’un certain pourcentage par rapport au prix d’entrée (par exemple, 6%), qui est libérée lorsque le prix atteint le point de stop-loss;

  4. Il n’y a pas de stop-loss, mais plutôt un suivi de tendance.

De cette façon, le moment d’entrée peut être jugé par la proportion de retournement des pics locaux, ce qui permet de filtrer efficacement les secousses et d’entrer uniquement après la confirmation de la tendance. Le paramètre de blocage permet également une certaine gestion de l’attente pour chaque gain.

Deux, les avantages stratégiques

Le plus grand avantage de cette stratégie est qu’elle utilise le ratio de rétroaction pour juger de la tendance et filtrer une grande quantité de bruit. Comparé à l’entrée directe au point de basculement, elle peut réduire la probabilité d’être inséré.

Un autre avantage est la logique de blocage. Cela permet de contrôler les pertes et les pertes de chaque transaction, conformément aux principes de gestion active des fonds.

Enfin, le suivi d’un stop plus grand que le ratio de reprise permet également à la stratégie de disposer d’un certain mécanisme de retour sur risque.

Troisièmement, les risques potentiels

Bien que cette stratégie présente certains avantages, les risques suivants doivent être pris en compte dans la pratique:

Tout d’abord, le ratio de rétractation doit être réglé avec prudence. Une rétractation trop profonde ou trop peu profonde affecte l’espace de profit.

Deuxièmement, l’absence de paramètre de stop-loss expose la stratégie à un risque individuel plus élevé. Un renversement de tendance fort peut entraîner des pertes plus importantes.

Enfin, une mauvaise optimisation des paramètres peut entraîner des problèmes de suradaptation, entraînant une baisse de la qualité du signal.

Quatrième partie, résumé

Cet article présente en détail une stratégie quantitative de suivi de tendance basée sur le ratio de rétroaction des prix. Elle permet de détecter efficacement la direction de la tendance et d’utiliser la rétroaction pour entrer.

Code source de la stratégie
/*backtest
start: 2022-09-07 00:00:00
end: 2023-09-13 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/
// © luboremenar

//@version=4
strategy("test_%_down_up", overlay = false, initial_capital = 1000, pyramiding = 0, default_qty_value = 1000,
     default_qty_type = strategy.cash, precision = 8, commission_type = strategy.commission.percent, commission_value = 0.1)

// inputs
range_of_tops = input(title="Range of candles to find highest value from.", defval=90, type=input.integer, minval=1 )
basis_points = input(title="Basis points, if asset has two decimals use 100, three decimals 1000, etc.", defval=100, type=input.integer, minval=1)
retrace_percent = input(title="Percent value retrace from the top.", type=input.integer, defval=3, minval = 1, maxval=99)
take_profit_percent = input(title="Percent value of take profit from entry price.", type=input.integer, defval=6, minval=1)

// strategy definition
three_months_top = highest(range_of_tops)
longCondition1 = (close <= float((three_months_top*(1-(take_profit_percent/100)))) and strategy.position_size == 0)

if (longCondition1)
    strategy.entry("Long1", strategy.long, qty = strategy.equity/close)

strategy.exit(id="TP1", from_entry="Long1", profit=((close*(1 + take_profit_percent/100)-close)*basis_points),
     when= crossover(strategy.position_size, 0))


// plot
plot(strategy.equity)

// for testing, debugging
//test=0.0  
//if(crossover(strategy.position_size, 0))
//    test := (close*1.06-close)*basis_points
//plot(test)