Les ressources ont été chargées... Je charge...

La stratégie de négociation des ordres de limite dynamiques multi-indicateurs SMA-RSI-MACD

Auteur:ChaoZhang est là., Date: 2024-12-11 15:15:49 Je vous en prie.
Les étiquettes:SMAIndice de résistanceLe MACDLe taux d'intérêt

img

Résumé

Cette stratégie est un système de négociation d'indicateurs multi-techniques qui utilise principalement le croisement EMA, les conditions de survente du RSI et la croix dorée MACD pour la confirmation des transactions. Elle utilise des ordres de limite dynamiques pour l'entrée et plusieurs mécanismes de sortie pour la gestion des risques.

Principes de stratégie

La logique de base du trading comprend les éléments clés suivants:

  1. Les signaux d'entrée sont déclenchés lorsque l'EMA à 9 périodes dépasse l'EMA à 21 périodes
  2. Le prix d'entrée est fixé sous forme d'ordre limite inférieur à l'EMA à 9 périodes à un décalage spécifié
  3. La confirmation des transactions nécessite un RSI inférieur au seuil et une croix dorée MACD
  4. Les signaux de sortie comprennent le croix de mort MACD, les points de profit/perte fixes et la fermeture forcée à la fin du marché.
  5. Le temps de négociation est limité entre 9h30 et 15h30.

La stratégie utilise des ordres limites pour l'entrée afin d'obtenir de meilleurs prix d'entrée et combine plusieurs indicateurs techniques pour améliorer la précision des transactions.

Les avantages de la stratégie

  1. Le mécanisme de confirmation de signaux multiples améliore la fiabilité des échanges
  2. Les entrées d'ordres limités offrent de meilleurs prix d'exécution
  3. Les points de profit/perte fixes facilitent la maîtrise des risques
  4. La clôture forcée à la fin du marché élimine le risque du jour au lendemain
  5. Les restrictions de temps de négociation évitent la volatilité d' ouverture
  6. Les indicateurs EMA permettent une réponse plus rapide à la tendance
  7. La combinaison RSI et MACD aide à filtrer les faux signaux

Risques stratégiques

  1. La confirmation de plusieurs signaux peut entraîner des occasions manquées
  2. Les ordres limites peuvent ne pas être exécutés en cas de mouvements rapides des prix
  3. Les arrêts à point fixe peuvent entraîner des pertes plus importantes en cas de forte volatilité
  4. Les signaux MACD peuvent être en retard par rapport à l'action des prix
  5. La stratégie ne tient pas compte des changements de volatilité du marché
  6. L'optimisation des paramètres peut entraîner un surajustement

Directions d'optimisation de la stratégie

  1. Introduction de points d'arrêt-perte et de prise de profit adaptés basés sur la volatilité du marché
  2. Ajouter des indicateurs de volume comme signaux de confirmation supplémentaires
  3. Pensez à ajouter des filtres de force de tendance
  4. Optimiser le calcul du décalage de l'ordre limite à l'aide de l'ATR
  5. Inclure des indicateurs de sentiment du marché pour filtrer les conditions défavorables
  6. Ajouter un mécanisme de dimensionnement de la position basé sur la force du signal

Résumé

Il s'agit d'une stratégie de trading multi-indicateur bien structurée qui identifie les tendances à l'aide de moyennes mobiles, filtre les signaux avec RSI et MACD, et contrôle le risque grâce à des ordres limites et à plusieurs mécanismes d'arrêt.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMA 9 & 21 with RSI and MACD Buy Strategy", overlay=true)

// Inputs for Simple Moving Averages
sma_short = ta.ema(close, 9)
sma_long = ta.ema(close, 21)

// Plotting SMA
plot(sma_short, color=color.green, title="SMA 9")
plot(sma_long, color=color.red, title="SMA 21")

// RSI Calculation
rsi_length = input.int(14, title="RSI Length")
rsi_threshold = input.int(70, title="RSI Threshold")
rsi = ta.rsi(close, rsi_length)

// MACD Calculation
macd_fast = input.int(8, title="MACD Fast Length")
macd_slow = input.int(18, title="MACD Slow Length")
macd_signal = input.int(6, title="MACD Signal Length")
[macd_line, signal_line, _] = ta.macd(close, macd_fast, macd_slow, macd_signal)

// Inputs for Limit Order Offset
limit_offset = input.int(50, title="Limit Order Offset", minval=1)  // 50 points below 9 EMA

// User input for specific date
simulationStartDate = input(timestamp("2024-12-01 00:00"), title="Simulation Start Date", group = "Simulation Dates")
simulationEndDate = input(timestamp("2024-12-30 00:00"), title="Simulation End Date", group = "Simulation Dates")

// Declare limit_price as float
var float limit_price = na

// Calculate Limit Order Price
if (sma_short[1] < sma_long[1] and sma_short > sma_long)  // 9 EMA crosses above 21 EMA
    limit_price := sma_short - limit_offset

// Buy Signal Condition (only on the specified date)
buy_condition = not na(limit_price) and rsi < rsi_threshold and ta.crossover(macd_line, signal_line) 

// Sell Signal Condition (MACD crossover down)
sell_condition = ta.crossunder(macd_line, signal_line)

// Track Entry Price for Point-Based Exit
var float entry_price = na

if (buy_condition )
    strategy.order("Buy", strategy.long, comment="Limit Order at 9 EMA - Offset", limit=limit_price)
    label.new(bar_index, limit_price, "Limit Buy", style=label.style_label_up, color=color.green, textcolor=color.white)
    entry_price := limit_price  // Set entry price

// Exit Conditions
exit_by_macd = sell_condition
exit_by_points = not na(entry_price) and ((close >= entry_price + 12) or (close <= entry_price - 12))  // Adjust as per exit points

// Exit all positions at the end of the day
if hour == 15 and minute > 10 and strategy.position_size > 0
    strategy.close_all()  // Close all positions at the end of the day
    strategy.cancel_all()  

// Exit based on sell signal or point movement
if (exit_by_macd or exit_by_points  and strategy.position_size > 0 )
    strategy.close("Buy")
    label.new(bar_index, close, "Close", style=label.style_label_down, color=color.red, textcolor=color.white)

 

Relationnée

Plus de