
Il s’agit d’un système de trading intelligent basé sur des signaux de croisement bi-homogène, combiné à des fonctions de gestion du risque. Le système génère des signaux de trading en utilisant des moyennes mobiles simples à court et à long terme (SMA), tout en intégrant des fonctions de stop loss et de stop-loss pour contrôler le risque. La stratégie utilise une méthode de gestion du risque en pourcentage, qui adapte la taille des positions en fonction de la dynamique des fonds du compte, permettant l’automatisation et l’intelligence du processus de négociation.
La stratégie repose principalement sur les principes suivants:
Il s’agit d’un système de trading intelligent qui combine les méthodes classiques d’analyse technique et les concepts modernes de gestion des risques. L’exécution automatique des transactions est réalisée grâce à la capture de tendances en croisement bi-homogène et au contrôle des risques par la gestion dynamique des risques.
/*backtest
start: 2024-06-09 00:00:00
end: 2025-02-19 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("AI Trade Bot with Risk Management", overlay=true)
// Input parameters
shortSMA = input.int(9, title="Short SMA")
longSMA = input.int(21, title="Long SMA")
riskPercent = input.float(1.0, title="Risk Percentage", step=0.1)
// Calculate SMAs
shortSMAValue = ta.sma(close, shortSMA)
longSMAValue = ta.sma(close, longSMA)
// Bullish and Bearish Signals
bullishSignal = ta.crossover(shortSMAValue, longSMAValue)
bearishSignal = ta.crossunder(shortSMAValue, longSMAValue)
// Risk Management
stopLossPercent = riskPercent / 100
takeProfitPercent = stopLossPercent * 2
// Calculate position size based on risk management
riskAmount = strategy.equity * riskPercent / 100
var float buyStopLossPrice = na
var float buyTakeProfitPrice = na
var float sellStopLossPrice = na
var float sellTakeProfitPrice = na
if (bullishSignal)
buyStopLossPrice := close * (1 - stopLossPercent)
buyTakeProfitPrice := close * (1 + takeProfitPercent)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", limit=buyTakeProfitPrice, stop=buyStopLossPrice)
if (bearishSignal)
sellStopLossPrice := close * (1 + stopLossPercent)
sellTakeProfitPrice := close * (1 - takeProfitPercent)
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", limit=sellTakeProfitPrice, stop=sellStopLossPrice)
// Plot SMAs on the chart
plot(shortSMAValue, color=color.blue, title="Short SMA")
plot(longSMAValue, color=color.red, title="Long SMA")
// Plot Buy/Sell signals on the chart
plotshape(series=bullishSignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal", text="BUY")
plotshape(series=bearishSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal", text="SELL")
// Plot Buy Stop Loss and Take Profit levels
plot(buyStopLossPrice, color=color.red, style=plot.style_linebr, linewidth=2, title="Buy Stop Loss")
plot(buyTakeProfitPrice, color=color.green, style=plot.style_linebr, linewidth=2, title="Buy Take Profit")
// Plot Sell Stop Loss and Take Profit levels
plot(sellStopLossPrice, color=color.red, style=plot.style_linebr, linewidth=2, title="Sell Stop Loss")
plot(sellTakeProfitPrice, color=color.green, style=plot.style_linebr, linewidth=2, title="Sell Take Profit")