Stratégie croisée des lignes moyennes mobiles et de la rupture du niveau de résistance

Auteur:ChaoZhang est là., Date: 2024-01-31 14h34 et 16h
Les étiquettes:

img

Résumé

Cette stratégie intègre les techniques d'intersection de la moyenne mobile et de rupture du niveau de résistance pour configurer des signaux d'achat et de vente pour le trading automatisé. Lorsque la moyenne mobile à court terme traverse la moyenne mobile à moyen terme depuis le bas et que le prix de l'action traverse le niveau de résistance, un signal d'achat est généré. La stratégie définit le profit à 15% d'augmentation de prix et le stop-loss à 3% de baisse de prix pour contrôler les risques. Cette stratégie de trading quantitative mature peut identifier automatiquement les tendances du marché et prendre des positions lorsque des signaux techniques émergent, avec une bonne gestion des risques.

Principes de stratégie

La stratégie génère des signaux de négociation basés principalement sur les indicateurs et jugements techniques suivants:

  1. Technique de croisement des moyennes mobiles: les moyennes mobiles simples de 20 et 44 jours sont calculées.

  2. Technique de rupture de niveau de résistance: les niveaux de prix que le prix de l'action a atteint à plusieurs reprises mais n'a pas réussi à franchir sont appelés niveaux de résistance.

  3. Oscillateur RSI: Indice de force relative, un indicateur de dynamique pour identifier les conditions de surachat et de survente.

  4. Analyse du volume: un volume supérieur à la moyenne des 10 derniers jours indique souvent un intérêt accru pour l'achat ou la vente et une dynamique accrue de l'évolution des prix.

  5. Signal d'achat: déclenché lorsque la SMA courte franchit la SMA moyenne, avec une valeur RSI surachetée et un volume de négociation supérieur à la moyenne, indiquant une tendance à la hausse.

  6. Les signaux de vente: 15% de profit sur le prix d'entrée, 3% de stop-loss.

Cette stratégie quantitative de négociation mature intègre plusieurs méthodes d'analyse technique pour identifier la structure et la tendance du marché, générant automatiquement des signaux de négociation lors de la formation de tendances, avec une gestion appropriée des risques.

Les avantages de la stratégie

  1. Capture les tendances du marché en douceur avec la technique de la moyenne mobile.

  2. Éviter d'ouvrir des positions lors de fausses ruptures en incorporant une analyse du volume.

  3. Contrôle efficace des risques en définissant le stop-loss et le take-profit, en optimisant le rapport risque/rendement.

  4. Dans l'ensemble, l'excellent jugement sur la structure du marché, les règles de négociation rigoureuses et le contrôle des risques en font une stratégie de négociation quantitative solide.

Risques liés à la stratégie

  1. Les systèmes à moyenne mobile double peuvent être sensibles au réglage des paramètres pour différentes périodes.

  2. Les systèmes de suivi de tendance ne peuvent pas réagir rapidement à des événements fondamentaux soudains, ce qui entraîne des risques de stop loss.

  3. Bien qu'avec un stop loss mis en place, une fréquence de négociation élevée conduit à un nombre inévitable d'exécutions de stop loss, ce qui entraîne des niveaux de profit inégaux.

  4. Les signaux des indicateurs techniques sont souvent à la traîne par rapport aux meilleurs points d'inversion des marchés.

Directions d'optimisation

  1. Optimiser les paramètres tels que les longueurs moyennes mobiles, l'objectif stop loss / profit par les méthodes de réglage des paramètres pour trouver l'optimum.

  2. Ajoutez d'autres indicateurs techniques tels que les bandes de Bollinger pour la détection de la plage, le MACD pour détecter les divergences, etc. pour améliorer la précision du signal.

  3. Incorporer des signaux fondamentaux et basés sur des événements pour éviter les arrêts de pertes déclenchés par des nouvelles négatives.

  4. Optimiser la gestion de l'argent par des méthodes de quantité fixe et de pourcentage fixe pour contrôler les risques par transaction.

Conclusion

Cette stratégie démontre des opérations en douceur, des jugements précis et des règles de trading rigoureuses, ce qui représente l'une des techniques de trading quantitatives les plus efficaces. Mais l'analyse technique à elle seule a des limites dans la lecture des marchés, de sorte que d'autres améliorations résident dans l'incorporation de plus d'indicateurs et de signaux fondamentaux / événements, l'optimisation des niveaux de stop loss / profit taking et des mécanismes de gestion de l'argent. En résumé, cette stratégie a atteint un niveau élevé parmi les stratégies d'analyse technique, mais devrait se diriger vers les stratégies de trading axées sur les cycles fondamentaux / événements dans les prochaines étapes.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Advanced Strategy with Conditional Stop Loss", overlay=true)

// Parameters
ma_length_20 = 20
ma_length_44 = 44
ma_length_100 = 100
rsi_length = 14
volume_length = 10
profit_target = 1.15 // 15% above the buy price
stop_loss_target = 0.97 // 3% below the buy price
wait_candles = 10 // Number of candles to wait after selling, unless MA cross condition met

// Indicators
moving_average_20 = ta.sma(close, ma_length_20)
moving_average_44 = ta.sma(close, ma_length_44)
moving_average_100 = ta.sma(close, ma_length_100)
rsi = ta.rsi(close, rsi_length)
volumeAvg = ta.sma(volume, volume_length)

// Variables to manage the wait period after a sell
var int last_sell_candle = 0

// Update last sell candle
if (strategy.position_size[1] > 0 and strategy.position_size == 0)
    last_sell_candle := bar_index

// Trend identification
uptrend = close > moving_average_20
above_ma20_by_1_percent = close > moving_average_20 * 1.01
ma_cross = ta.crossover(moving_average_20, moving_average_44) or ta.crossunder(moving_average_20, moving_average_44)
close_near_high = (close >= high * 0.993) and (close <= high)

// Buy condition (only in uptrend, above 1% from 20-day MA, and respecting new filter)
can_buy_after_cross = ma_cross and close > high[1]
can_buy_after_wait = (bar_index - last_sell_candle) > wait_candles
buy_condition = (can_buy_after_cross or can_buy_after_wait) and uptrend and above_ma20_by_1_percent and close > moving_average_44 and close > moving_average_100 and close > high[1] and rsi > 50 and volume > volumeAvg and not close_near_high

// Entry
if (buy_condition and strategy.position_size == 0)
    strategy.entry("Buy", strategy.long)

// Exit conditions
if (strategy.position_size > 0)
    // Profit target
    profit_level = strategy.position_avg_price * profit_target
    strategy.exit("Take Profit", "Buy", limit=profit_level)

    // Dynamic Stop Loss - Check on every bar if the price has dropped 3% below the buy price
    stop_loss_level = strategy.position_avg_price * stop_loss_target
    if (low < stop_loss_level)
        strategy.close("Buy", comment="Stop Loss")

// Plotting
plot(moving_average_20, color=color.green, title="20-Day Moving Average")
plot(moving_average_44, color=color.blue, title="44-Day Moving Average")
plot(moving_average_100, color=color.red, title="100-Day Moving Average")


Plus de