
La stratégie est un système de négociation basé sur la détermination de la tendance de la ligne égale et des fausses ruptures de la position de soutien. La stratégie détermine la tendance du marché à travers des moyennes mobiles simples de 50 cycles et 200 cycles, génère des signaux de négociation en combinaison avec la forme de fausse rupture de la position de soutien et utilise l’indicateur ATR pour définir dynamiquement une position de stop-loss et un objectif de prise de profit au point de rupture. Cette stratégie tire pleinement parti des caractéristiques de la tendance du marché et des lois du mouvement des prix pour tirer parti des opportunités de rebond après la fausse rupture.
La logique centrale de la stratégie comprend les éléments clés suivants:
La stratégie de rupture de position de support de ligne de parité multiple est un système de négociation complet qui combine le suivi de la tendance et la forme des prix. Grâce à la détermination de la tendance du système de ligne de parité et à l’identification de la forme de rupture de la position de soutien, en combinaison avec l’arrêt dynamique de l’ATR, une stratégie de négociation à risque contrôlable est construite. Le principal avantage de cette stratégie réside dans un processus d’exploitation systématique et une méthode de gestion du risque claire.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-26 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("False Break Trading Strategy", overlay=true)
// Define inputs for strategy parameters
sma50Length = input.int(50, title="SMA 50 Length")
sma200Length = input.int(200, title="SMA 200 Length")
atrLength = input.int(14, title="ATR Length")
lookbackPeriod = input.int(10, title="Swing High Lookback Period")
// Calculate SMAs
sma50 = ta.sma(close, sma50Length)
sma200 = ta.sma(close, sma200Length)
// Calculate ATR
atr = ta.atr(atrLength)
// Check if we are in an uptrend
isUptrend = sma50 > sma200
// Calculate Pivot, Support, and Target Profit (Swing High)
pivot = (high[1] + low[1] + close[1]) / 3
support = (2 * pivot) - high[1]
swingHigh = ta.highest(high, lookbackPeriod)
// Create signals for entry
var float entryPrice = na
var float stopLoss = na
var float targetProfit = na
longCondition = isUptrend and low[1] < support and close > support
if (longCondition)
entryPrice := open
stopLoss := low - atr
targetProfit := swingHigh
// Plot signals and lines on chart
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
// Plot levels for entry, stop loss, and target
plot(entryPrice, title="Entry Price", color=color.blue, linewidth=2, style=plot.style_linebr)
plot(stopLoss, title="Stop Loss", color=color.red, linewidth=2, style=plot.style_linebr)
plot(targetProfit, title="Target Profit", color=color.green, linewidth=2, style=plot.style_linebr)
// Backtest: Simulate exit points for the strategy
if (longCondition)
strategy.entry("Long", strategy.long)
if (na(stopLoss) == false and na(targetProfit) == false)
strategy.exit("Take Profit/Stop Loss", "Long", stop=stopLoss, limit=targetProfit)