Cette stratégie utilise l'indicateur Supertrend pour déterminer les points d'entrée, en allant long ou court lorsque l'indicateur s'inverse.
La stratégie utilise l'indicateur de Supertrend pour identifier la direction de la tendance. Supertrend est basé sur la plage moyenne vraie et un facteur multiplicateur. Lorsque le prix dépasse la bande supérieure, il indique une condition de surachat et lorsque le prix tombe en dessous de la bande inférieure, il indique une condition de survente. Par conséquent, la stratégie détecte des renversements dans la direction de Supertrend pour déterminer les entrées.
Plus précisément, lorsque le changement de Supertrend est inférieur à 0, cela indique que l'indicateur s'est inversé de haut en bas, générant un signal long. Lorsque le changement de Supertrend est supérieur à 0, l'indicateur s'est inversé de bas en haut, générant un signal court. Lors de la réception de signaux longs ou courts, le prix d'entrée est enregistré et les ordres sont passés.
La stratégie définit également trois ordres de prise de profit à 2%, 5% et 10% du prix d'entrée, pour verrouiller les bénéfices cibles fixes. Les proportions de ces ordres sont fixées à 25%, 50% et 25% respectivement. Après les signaux d'entrée, ces ordres de prise de profit sont placés simultanément pour capturer des gains à différents niveaux.
La stratégie présente les avantages suivants:
L'utilisation de Supertrend pour les entrées capture efficacement les points d'inversion de tendance pour un long/short précis.
Les proportions multiples de prise de bénéfice permettent de bloquer les gains à différents niveaux, ce qui réduit les prélèvements.
Des objectifs de profit prudents de 2%, 5% et 10% permettent d'éviter une surextension des bénéfices entraînant des pertes plus importantes.
Une logique simple et claire, facile à comprendre et à modifier, adaptée aux débutants.
La stratégie comporte également certains risques:
Des paramètres de Supertrend incorrects peuvent entraîner l'absence de signaux d'inversion, ce qui entraîne des entrées inexactes.
Les niveaux de profit conservateurs peuvent manquer des opportunités d'augmenter les profits.
Les écarts et les mouvements de limite peuvent déclencher des arrêts avant que Supertrend ne s'ajuste.
Aucune condition de stop loss ne signifie un potentiel de perte illimité.
Quelques façons d'optimiser la stratégie:
Testez différents paramètres de Supertrend pour améliorer la sensibilité.
Ajouter un stop loss pour limiter la perte maximale.
Ajustez les ratios de profit et les quantités en fonction du symbole et du délai.
Ajoutez des filtres pour éviter les transactions excessives sur les marchés à plage.
Optimiser l'utilisation du capital en ajustant la taille de la transaction par défaut pour réduire le risque par transaction.
La stratégie est simple et pratique dans l'ensemble. Elle utilise Supertrend pour les entrées et plusieurs ordres de prise de profit pour verrouiller les gains, contrôlant efficacement le risque. Mais il y a place à des améliorations telles que l'ajout d'arrêts, l'optimisation des paramètres, etc., ce qui fournit des directions d'amélioration futures. En résumé, cette stratégie est adaptée aux débutants pour apprendre et pratiquer le trading algorithmique.
/*backtest start: 2023-01-01 00:00:00 end: 2024-01-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy( "Supertrend with TP", overlay=true ) // Supertrend Settings atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) // TP's tp1Open = input.bool(true, "TP1") tp1 = input.float(2.0, "TP Level (%)", step = 0.1) / 100 tp1Amount = input.int(25, "Amount (%)", step = 1) tp2Open = input.bool(true, "TP2") tp2 = input.float(5.0, "TP Level (%)", step = 0.1) / 100 tp2Amount = input.int(50, "Amount (%)", step = 1) tp3Open = input.bool(true, "TP3") tp3 = input.float(10.0, "TP Level (%)", step = 0.1) / 100 tp3Amount = input.int(25, "Amount (%)", step = 1) [_, direction] = ta.supertrend(factor, atrPeriod) entryPrice = 0.0 entryPrice := entryPrice[1] if ta.change(direction) < 0 strategy.entry("Long", strategy.long) entryPrice := close if ta.change(direction) > 0 strategy.entry("Short", strategy.short) entryPrice := close if (tp1Open) strategy.exit ("TP1", from_entry="Long", limit=entryPrice * (1 + tp1), qty_percent=tp1Amount) strategy.exit ("TP1", from_entry="Short", limit=entryPrice * (1 - tp1), qty_percent=tp1Amount) if (tp2Open) strategy.exit ("TP2", from_entry="Long", limit=entryPrice * (1 + tp2), qty_percent=tp2Amount) strategy.exit ("TP2", from_entry="Short", limit=entryPrice * (1 - tp2), qty_percent=tp2Amount) if (tp3Open) strategy.exit ("TP3", from_entry="Long", limit=entryPrice * (1 + tp3), qty_percent=tp3Amount) strategy.exit ("TP3", from_entry="Short", limit=entryPrice * (1 - tp3), qty_percent=tp3Amount)