Cette stratégie est un système de négociation de rupture de tendance qui combine des moyennes mobiles avec des concepts de rupture de prix. Le mécanisme de base est de générer des signaux de négociation basés sur les clôtures de prix au-dessus de la moyenne mobile, avec des niveaux de stop-loss fixés aux plus bas récents et un ratio profit/perte de 2: 1 pour la gestion des risques.
La stratégie utilise une moyenne mobile simple (SMA) de 20 périodes comme indicateur de tendance. Les signaux longs sont générés lorsque le prix de clôture dépasse la moyenne mobile en dessous. Les niveaux de stop-loss sont définis au point le plus bas des 7 bougies précédentes pour éviter de les placer trop près des points d'entrée. Les niveaux de profit sont définis en utilisant un ratio récompense/risque classique de 2: 1, ce qui signifie que l'objectif de profit est deux fois la distance du stop-loss. La stratégie comprend des composants de visualisation qui marquent les lignes de tendance, les signaux de trading et les niveaux de stop-loss/take-profit sur le graphique.
Il s'agit d'une stratégie de suivi des tendances bien structurée avec une logique claire. Elle génère des signaux grâce à des ruptures moyennes mobiles, combinées à des mécanismes de gestion des risques raisonnables, ce qui la rend pratiquement applicable. Bien qu'il existe des risques inhérents, les directions d'optimisation suggérées peuvent encore améliorer la stabilité et la rentabilité de la stratégie. La stratégie convient aux conditions de marché tendance et les traders peuvent ajuster les paramètres en fonction des caractéristiques spécifiques du marché.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Trend Breakout with SL and TP", overlay=true) // Parametrlar length = input(25, title="Length for SL Calculation") trendLength = input(20, title="Trend Line Length") // Trend chizig'ini hisoblash trendLine = ta.sma(close, trendLength) // Yopilish narxi trend chizig'ini yorib o'tganda signal longSignal = close > trendLine and close[1] <= trendLine // Oxirgi 7 shamning minimumini hisoblash lowestLow = ta.lowest(low, 7) // Stop Loss darajasini belgilash longSL = lowestLow // SL oxirgi 7 shamning minimumiga teng // Take Profit darajasini SL ga nisbatan 2 baravar ko'p qilib belgilash longTP = longSL + (close - longSL) * 2 // TP 2:1 nisbatida // Savdo bajarish if longSignal strategy.entry("Long", strategy.long) strategy.exit("Take Profit", "Long", limit=longTP) strategy.exit("Stop Loss", "Long", stop=longSL) // Grafikda trend chizig'ini chizish plot(trendLine, title="Trend Line", color=color.blue, linewidth=2) // Signal chizish plotshape(longSignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") // SL va TP darajalarini ko'rsatish // if longSignal // // SL chizig'i // line.new(bar_index, longSL, bar_index + 1, longSL, color=color.red, width=2, style=line.style_dashed) // // TP chizig'i // line.new(bar_index, longTP, bar_index + 1, longTP, color=color.green, width=2, style=line.style_dashed) // // SL va TP label'larini ko'rsatish // label.new(bar_index, longSL, "SL: " + str.tostring(longSL), color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small) // label.new(bar_index, longTP, "TP: " + str.tostring(longTP), color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)