Une stratégie simple basée sur le trailing stop et le trailing buy


Date de création: 2024-01-19 14:30:59 Dernière modification: 2024-01-19 14:30:59
Copier: 4 Nombre de clics: 554
1
Suivre
1617
Abonnés

Une stratégie simple basée sur le trailing stop et le trailing buy

Aperçu

La stratégie permet d’optimiser les paramètres de la stratégie en testant différentes combinaisons de pourcentages sur différentes périodes et sur différents graphiques.

Principe de stratégie

La stratégie consiste principalement à suivre les arrêts et les achats à travers deux indicateurs:

  1. Trailing Stop Line (TSL): calculé en fonction du pourcentage de décalage de la perte de l’utilisateur et de la moyenne mobile du prix de clôture de la plus récente ligne N à la racine K. La perte de placement se produit lorsque le prix est inférieur à cette ligne.
  2. Trailing Buy Line (TBL): calculé à partir du pourcentage de décalage de l’achat défini par l’utilisateur et de la moyenne mobile du prix le plus élevé de la ligne N à la racine K la plus récente.

La règle de stop loss et de reprise est réalisée en comparant les prix avec la relation entre ces deux indicateurs.

Avantages stratégiques

Cette stratégie présente les avantages suivants:

  1. Il est simple, intuitif, facile à comprendre et à appliquer.
  2. L’élasticité de l’arrêt et de la reprise peut être obtenue en ajustant les paramètres;
  3. La capacité de s’adapter à différents marchés et à différentes périodes de temps;
  4. Il est possible de suivre la tendance et de stopper les pertes en temps opportun.

Risque stratégique

La stratégie présente également les risques suivants:

  1. Une mauvaise configuration des paramètres peut entraîner des arrêts ou des rachats trop radicaux;
  2. La fréquence des transactions et la possibilité de pertes de points de dérapage dans un marché en crise;
  3. Il est nécessaire d’optimiser les paramètres de manière appropriée pour s’adapter aux caractéristiques des différents marchés.

Orientation de l’optimisation de la stratégie

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Optimisation automatique des positions de stop-loss et des paramètres d’achat à l’aide d’algorithmes adaptatifs;
  2. L’augmentation du nombre de positions et du module de gestion des risques;
  3. Il est important d’avoir une vision globale des tendances, combinée à d’autres indicateurs, afin d’éviter d’être pris dans une situation de choc.

Résumer

La stratégie dans son ensemble est une stratégie de suivi de tendance très simple et intuitive. Elle peut être adaptée à différents marchés par des ajustements de paramètres, tandis que la combinaison d’algorithmes d’adaptation et d’autres indicateurs peut encore améliorer la stabilité et la praticité de la stratégie.

Code source de la stratégie
/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Developed from ©Finnbo code
strategy("Simple Trailing Buy & Stop Strategy", overlay=true)
offset = input(defval=1.5, title="Stop Offset %", type=float, minval=0.1, maxval=100, step=0.1)
buyoffset = input(defval=1.9, title="Trailing Buy Offset %", type=float, minval=0.1, maxval=100, step=0.1)

sumbars = input(defval=6, title="Use last x bars for calculation",  minval=1)
srcts = input(title="Source Trailing Stop calculation",  defval=close)
srctb = input(title="Source Trailing Buy calculation",  defval=close)
srctrigger = input(title="Source Stop Trigger",  defval=low)
srctriggerbuy = input(title="Source Buy Trigger",  defval=high)
tsl = rma(srcts, sumbars)*(1-(offset/100))// = (sum(srcts,sumbars)/sumbars)*(1-(offset/100))
tbuy = rma(srctb, sumbars)*(1+(buyoffset/100))
plot(tsl, color=(srctrigger<tsl)?red:green)
plot(tbuy, color=(srctriggerbuy>tbuy)?red:green)
//plotshape(crossunder(srctrigger,tsl), text="Long Stop", style=shape.circle, color=red)
alertcondition(crossunder(srctrigger,tsl), "Long Stop alert", "SELL")
//plotshape(crossover(srctriggerbuy,tbuy), text="Long", style=shape.circle, color=green)
alertcondition(crossover(srctriggerbuy,tbuy), "Long alert", "BUY")

longCondition =  crossover(srctriggerbuy,tbuy)
if (longCondition)
    strategy.entry("Long", strategy.long)
closeCondition = crossunder(srctrigger,tsl)
if (closeCondition)
    strategy.close("Long")