
Cette stratégie est un système de négociation en ligne courte qui combine l’indicateur d’extrusion dynamique (Squeeze Momentum Indicator, SMI) et l’indicateur d’achat et de vente ultime (Ultimate Buy/Sell, UBS). La stratégie est principalement conçue pour capturer les opportunités de prise de position du marché en surveillant les tendances de changement de la dynamique des prix et les signaux croisés des moyennes mobiles.
La logique centrale de la stratégie est basée sur la combinaison de deux indicateurs principaux:
Cette stratégie, qui combine deux indicateurs techniques, l’extrusion de la dynamique et la vente finale, permet de construire un système de négociation de prise de risque relativement complet. L’avantage de la stratégie réside dans la fiabilité du signal, la maîtrise des risques, mais aussi dans la forte dépendance à l’environnement du marché. La stabilité et la rentabilité de la stratégie devraient être encore améliorées en ajoutant des améliorations dans des domaines tels que le filtrage de l’environnement du marché et l’optimisation des mécanismes de stop-loss.
/*backtest
start: 2024-10-28 00:00:00
end: 2024-11-27 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © algostudio
// Code Generated using PineGPT - www.marketcalls.in
//@version=5
strategy("Squeeze Momentum and Ultimate Buy/Sell with Stop Loss", overlay=true, process_orders_on_close = false)
// Input settings
smiLength = input.int(20, title="SMI Length")
smiSmoothing = input.int(5, title="SMI Smoothing")
ultBuyLength = input.int(14, title="Ultimate Buy/Sell Length")
stopLossPerc = input.float(2.5, title="Stop Loss Percentage", step=0.1) / 100
// Define Squeeze Momentum logic
smi = ta.sma(close - ta.lowest(low, smiLength), smiSmoothing) - ta.sma(ta.highest(high, smiLength) - close, smiSmoothing)
squeezeMomentum = ta.sma(smi, smiSmoothing)
smiUp = squeezeMomentum > squeezeMomentum[1]
smiDown = squeezeMomentum < squeezeMomentum[1]
// Define Ultimate Buy/Sell Indicator logic (you can customize the conditions)
ultimateBuy = ta.crossover(close, ta.sma(close, ultBuyLength))
ultimateSell = ta.crossunder(close, ta.sma(close, ultBuyLength))
// Trading logic: Short entry (Squeeze Momentum from green to red and Ultimate Sell signal)
shortCondition = smiDown and ultimateSell
if (shortCondition)
strategy.entry("Short", strategy.short)
//Set short target (exit when price decreases by 0.2%)
shortTarget = strategy.position_avg_price * 0.996
// Set stop loss for short (5% above the entry price)
shortStop = strategy.position_avg_price * (1 + stopLossPerc)
// Exit logic for short
if (strategy.position_size < 0)
strategy.exit("Exit Short", "Short", limit=shortTarget, stop=shortStop)
// Plot the Squeeze Momentum for reference
plot(squeezeMomentum, color=color.blue, linewidth=2, title="Squeeze Momentum")
// Optional: Plot signals on the chart
plotshape(series=ultimateBuy, location=location.belowbar, color=color.green, style=shape.labelup, title="Ultimate Buy Signal")
plotshape(series=ultimateSell, location=location.abovebar, color=color.red, style=shape.labeldown, title="Ultimate Sell Signal")
// For more tutorials on Tradingview Pinescript visit https://www.marketcalls.in/category/tradingview