Cette stratégie utilise une approche de trading quotidienne cohérente, en se concentrant sur la capture de petits objectifs de profit tout en maintenant une gestion stricte des risques. La stratégie a été testée depuis l'année 2021, démontrant une performance robuste avec un taux de gain de 100%. L'idée principale de la stratégie est d'ouvrir de nouvelles positions longues ou courtes au début de chaque journée de trading en fonction des conditions du marché du jour précédent. Les paramètres clés comprennent une cible de profit de 0,3% et un stop loss de 0,2%, avec un capital initial de 1000 $ et une commission de 0,1% par transaction.
Le principe de base de cette stratégie est d'ouvrir de nouvelles positions longues ou courtes au début de chaque jour de négociation en fonction des tendances du marché du jour de négociation précédent. Plus précisément, s'il n'y avait pas de positions le jour précédent, la stratégie ouvrira une position longue au début de la nouvelle journée. S'il y a déjà une position longue, la stratégie vérifie si l'objectif de profit de 0,3% a été atteint et ferme la position si c'est le cas. Pour les positions courtes, la stratégie vérifie si le stop loss de 0,2% a été atteint, et si oui, elle ferme la position courte et ouvre simultanément une nouvelle position longue pour la remplacer. Cela garantit que la stratégie maintient toujours l'exposition au marché.
Cette stratégie de négociation quotidienne présente plusieurs avantages notables:
Malgré les performances impressionnantes et la maîtrise des risques démontrées par la stratégie, certains risques potentiels doivent être pris en considération:
Pour atténuer ces risques, la diversification pourrait être envisagée en appliquant des stratégies similaires sur différents marchés et classes d'actifs.
Dans l'ensemble, cette stratégie de trading quotidienne offre une approche équilibrée du trading intraday avec un fort accent sur la gestion des risques et la rentabilité constante. Elle convient aux traders qui recherchent une méthodologie de trading systématique et disciplinée. La stratégie a démontré des résultats de backtesting impressionnants, avec un taux de gain de 100% et des rendements robustes ajustés au risque.
/*backtest start: 2023-05-22 00:00:00 end: 2024-05-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Daily AUD-JPY Trading", overlay=true, initial_capital=1000, currency="AUD", default_qty_type=strategy.percent_of_equity, default_qty_value=200, commission_type=strategy.commission.percent, commission_value=0.1) // Input parameters profit_target = input(0.3, title="Profit Target (%)") / 100 loss_target = input(0.2, title="Loss Target (%)") / 100 start_year = input(2021, title="Start Year") // Calculate daily open and close new_day = ta.change(time("D")) var float entry_price_long = na var float entry_price_short = na var bool position_long_open = false var bool position_short_open = false // Date check trade_start = timestamp(start_year, 1, 1, 0, 0) if new_day and time >= trade_start // If there was a previous long position, check for profit target if position_long_open current_profit_long = (close - entry_price_long) / entry_price_long if current_profit_long >= profit_target strategy.close("AUD Trade Long", comment="Take Profit Long") position_long_open := false // If there was a previous short position, check for profit target if position_short_open current_profit_short = (entry_price_short - close) / entry_price_short if current_profit_short >= profit_target strategy.close("AUD Trade Short", comment="Take Profit Short") position_short_open := false // Check for daily loss condition for short positions if position_short_open current_loss_short = (close - entry_price_short) / entry_price_short if current_loss_short <= -loss_target strategy.close("AUD Trade Short", comment="Stop Loss Short") position_short_open := false // Open a new long position to replace the stopped short position strategy.entry("AUD Trade Long Replacement", strategy.long) entry_price_long := close position_long_open := true // Open a new long position at the start of the new day if no long position is open if not position_long_open and not position_short_open strategy.entry("AUD Trade Long", strategy.long) entry_price_long := close position_long_open := true // Open a new short position at the start of the new day if no short position is open if not position_short_open and not position_long_open strategy.entry("AUD Trade Short", strategy.short) entry_price_short := close position_short_open := true // Check for continuous profit condition for long positions if position_long_open current_profit_long = (close - entry_price_long) / entry_price_long if current_profit_long >= profit_target strategy.close("AUD Trade Long", comment="Take Profit Long") position_long_open := false // Check for continuous profit condition for short positions if position_short_open current_profit_short = (entry_price_short - close) / entry_price_short if current_profit_short >= profit_target strategy.close("AUD Trade Short", comment="Take Profit Short") position_short_open := false // Plot the entry prices on the chart plot(position_long_open ? entry_price_long : na, title="Entry Price Long", color=color.green, linewidth=2) plot(position_short_open ? entry_price_short : na, title="Entry Price Short", color=color.red, linewidth=2) // Display current profit/loss percentage for long positions var label profit_label_long = na if position_long_open and not na(entry_price_long) current_profit_long = (close - entry_price_long) / entry_price_long * 100 label.delete(profit_label_long) profit_label_long := label.new(x=time, y=high, text="Long P/L: " + str.tostring(current_profit_long, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time) // Display current profit/loss percentage for short positions var label profit_label_short = na if position_short_open and not na(entry_price_short) current_profit_short = (entry_price_short - close) / entry_price_short * 100 label.delete(profit_label_short) profit_label_short := label.new(x=time, y=high, text="Short P/L: " + str.tostring(current_profit_short, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)