Cette stratégie implémente un simple arrêt de trail et un achat de trail basé sur le pourcentage. En expérimentant différentes combinaisons de pourcentages à travers les délais et les graphiques, les paramètres de stratégie peuvent être optimisés.
La stratégie utilise principalement deux indicateurs pour atteindre un arrêt de perte et un achat:
Trailing Stop Line (TSL): calculé sur la base des N barres récentes des prix de clôture et du pourcentage de compensation de stop loss défini par l'utilisateur.
Trailing Buy Line (TBL): calculé sur la base des N barres récentes des prix les plus élevés et du pourcentage de compensation d'achat défini par l'utilisateur.
En comparant le prix avec ces deux indicateurs, les règles de stop loss et de trailing buy sont mises en œuvre.
Les avantages de cette stratégie sont les suivants:
Simple et intuitif, facile à comprendre et à mettre en œuvre.
L'option de stop loss et de trailing buy est flexible grâce à un ajustement des paramètres.
Applicable à tous les marchés et à toutes les périodes.
Permet de suivre la tendance et d'arrêter les pertes en temps opportun.
Les risques de cette stratégie comprennent:
Les paramètres ne sont pas réglés correctement, ce qui peut entraîner un stop-loss ou un buy trop agressif.
Des échanges fréquents et des dérapages sur différents marchés.
Requiert une optimisation des paramètres pour les différentes caractéristiques du marché.
La stratégie peut être renforcée par:
Des algorithmes adaptatifs pour optimiser automatiquement les paramètres d'arrêt et d'achat
Ajout de modules de dimensionnement des positions et de gestion des risques.
Incorporation d'autres indicateurs pour évaluer la tendance globale afin d'éviter les problèmes.
En résumé, il s'agit d'une stratégie de suivi de tendance très simple et intuitive. Avec l'ajustement des paramètres, il peut être adapté à tous les marchés. L'incorporation ultérieure d'algorithmes adaptatifs et de filtres supplémentaires peut améliorer la robustesse. Dans l'ensemble, il fournit un cadre de base mais efficace pour le trading quantitatif.
/*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")