Il calcule les prix les plus élevés et les plus bas au cours d'une certaine période pour déterminer la direction de la tendance, et entre dans des transactions longues ou courtes lorsque les prix dépassent les niveaux clés.
La logique de base de cette stratégie est la suivante:
Utilisez les fonctions les plus élevées et les plus faibles pour calculer les prix les plus élevés et les plus bas des 20 bougies récentes, comme indicateurs de dynamique pour juger de la tendance.
Lorsque le dernier prix de clôture dépasse le prix le plus élevé de la période précédente, passez long.
Lorsque le dernier prix de clôture dépasse le prix le plus bas de la période précédente, passez à la vente.
Pour contrôler les risques, définissez une distance stop-loss de 1% et une distance profit de 2%, ce qui donne un rapport risque/rendement de 2:1.
Tracez les prix les plus élevés et les plus bas au sein des 20 chandeliers pour déterminer visuellement la direction de la tendance et les niveaux de rupture.
Ce qui précède est la logique de base de cette stratégie. Il utilise des indicateurs de dynamique pour juger de la tendance et négocie des ruptures de niveaux clés, ce qui en fait une tendance suivant la stratégie de rupture.
Les avantages de cette stratégie sont les suivants:
Le calcul des prix les plus élevés et les plus bas permet de filtrer les faux signaux des marchés à fourchette.
Une logique simple et claire, juste bien au-dessus du plus haut niveau précédent, et juste en dessous du plus bas niveau précédent, facile à comprendre et à mettre en œuvre.
Les risques contrôlables: la perte maximale est de 1% et le profit maximal de 2% avec stop loss et take profit, ce qui donne un rapport risque-rendement raisonnable.
Facile à optimiser. La période de calcul peut être ajustée pour un meilleur moment d'entrée. Les niveaux de stop loss et de take profit peuvent également être ajustés pour plus de profits ou moins de risques.
Il y a aussi des risques:
Il est encore possible d'obtenir un stop loss avec des fluctuations de prix rapides et énormes.
Manque de signaux d'inversion si la période de calcul est trop longue.
La période de calcul et les niveaux de stop loss/take profit doivent être soigneusement testés et optimisés.
Cette stratégie peut être améliorée dans des domaines tels que:
Ajout de filtres pour assurer une force de tendance suffisante avant d'entrer dans les transactions.
L'ajustement du paramètre de la période pour équilibrer la rapidité et la stabilité du jugement de tendance.
Incorporer un stop loss de suivi pour verrouiller les bénéfices et éviter que le stop loss ne soit frappé.
Optimisation des paramètres par le backtesting historique pour trouver les combinaisons optimales de paramètres.
Il s'agit d'une tendance typique suivant la stratégie de trading de rupture. Il utilise des indicateurs de dynamique pour déterminer la tendance, et les échanges de ruptures de niveaux clés. Les avantages sont la simplicité, les risques contrôlables et la facilité de compréhension / optimisation. Mais il peut sous-performer dans certains environnements de marché.
/*backtest start: 2023-12-31 00:00:00 end: 2024-01-30 00:00:00 period: 1h 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")