Il s'agit d'une tendance dynamique suivant une stratégie de rupture. Il suit le prix le plus élevé et le plus bas des actions en temps réel. Lorsque le prix franchit le prix le plus élevé de la période récente, il sera long. Lorsque le prix franchit le prix le plus bas de la période récente, il sera court. Pendant ce temps, le stop loss et le take profit sont configurés pour contrôler les risques et assurer un ratio de récompense de risque fixe.
La logique de base de cette stratégie est de suivre et de négocier les points de rupture des prix des tendances. Plus précisément, la stratégie calcule le plus haut plus haut et le plus bas plus bas au cours des 20 derniers jours. Lorsque le prix de clôture d'aujourd'hui dépasse le plus haut d'hier, il est considéré comme un signal de rupture de tendance à la hausse et sera long. Lorsque le prix de clôture d'aujourd'hui dépasse le plus bas d'hier, il est considéré comme un signal de rupture de tendance à la baisse et sera court.
Après avoir passé long ou court, un stop loss de 1% et un profit de 2% sont définis. Cela garantit un ratio de risque et de récompense fixe de 2: 1 pour chaque transaction.
L'avantage majeur de cette stratégie est de capturer rapidement les points d'inversion des tendances des prix, tout en contrôlant les risques de chaque transaction.
Calcul dynamique du prix le plus élevé et le plus bas, suivi en temps réel des changements de tendance des prix, qui peut rapidement capturer les signaux d'inversion des prix.
L'utilisation de la méthode de ventilation pour les entrées améliore la qualité des entrées.
La mise en place d'un stop-loss et d'un take profit pour contrôler le ratio de risque/rendement d'une seule transaction permet de gérer efficacement le risque commercial.
Une logique simple et facile à comprendre, adaptée aux débutants quantistiques.
Moins de code qui est facile à tester et à optimiser.
Cette stratégie comporte également certains risques:
Suivre les tendances pour les entrées peut manquer les meilleurs points tournants de l'inversion des prix.
Le stop-loss et le take profit fixes ne peuvent pas s'adapter aux changements du marché, ils peuvent s'arrêter ou viser un profit prématurément.
Aucune logique pyramidale pour les entrées supplémentaires ultérieures, ne peut suivre les tendances.
Aucune prise en compte des grands cycles, peut entrer en conflit avec la tendance majeure causant des pertes.
Aucun module de dimensionnement de la position, ne peut contrôler la gestion globale de la position.
Il y a encore beaucoup de place pour l'optimisation, principalement dans les directions suivantes:
Ajoutez un stop loss dynamique et des profits basés sur la volatilité du marché.
Ajouter un filtre de direction de tendance basé sur la moyenne mobile pour éviter les conflits de tendances majeures.
Ajouter un indicateur de force de tendance pour s'assurer que l'on n'entre que sur les tendances fortes.
Ajoutez une logique pyramidale pour maximiser les profits en suivant les tendances.
Combiner avec le module de dimensionnement des positions pour ajuster dynamiquement la taille des positions et contrôler le risque global.
Optimiser les paramètres pour trouver les ensembles de paramètres optimaux.
En résumé, cette stratégie est adaptée aux débutants quant à l'apprentissage et à la pratique en général. Son avantage réside dans la simplicité et la compréhension facile, également avec stop loss et logique de profit pour contrôler le risque. Mais elle a encore de nombreux aspects à optimiser, peut servir de chance pour l'apprentissage ultérieur.
/*backtest start: 2023-11-28 00:00:00 end: 2023-12-28 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Trend Following Breakout Strategy with 2:1 RRR", overlay=true) // 定义前高和前低的计算 length = input(20, minval=1, title="Length") highestHigh = highest(high, length) lowestLow = lowest(low, length) // 定义买入和卖出的条件 longCondition = close > highestHigh[1] // 当前收盘价高于前一期的最高价 shortCondition = close < lowestLow[1] // 当前收盘价低于前一期的最低价 // 为了确保盈亏比为2:1,我们需要定义止损和目标价 stopLoss = input(1, title="Stop Loss %") / 100 takeProfit = stopLoss * 2 // 如果满足买入条件,进入多头 if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Long TP", "Long", profit=takeProfit * close, loss=stopLoss * close) // 如果满足卖出条件,进入空头 if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Short TP", "Short", profit=takeProfit * close, loss=stopLoss * close) // 绘图显示前高和前低 plot(highestHigh, color=color.green, title="Previous High") plot(lowestLow, color=color.red, title="Previous Low")