Stratégie de croisement de la destruction de la double moyenne mobile et de la percée du niveau de pression


Date de création: 2024-01-31 14:34:16 Dernière modification: 2024-01-31 14:34:16
Copier: 1 Nombre de clics: 613
1
Suivre
1617
Abonnés

Stratégie de croisement de la destruction de la double moyenne mobile et de la percée du niveau de pression

Aperçu

Cette stratégie utilise la technologie de croisement de deux moyennes mobiles et la technologie de rupture du niveau de pression pour définir des signaux d’achat et de vente, pour réaliser des transactions automatiques. Un signal d’achat est généré lorsque la moyenne à court terme franchit la moyenne à moyen terme de bas en haut et que le prix de l’action franchit le niveau de pression.

Principe de stratégie

La stratégie est basée sur les indicateurs techniques et les conditions suivants:

  1. Technique de croisement des deux courbes: calcul des moyennes mobiles simples de 20 et 44 jours, qui sont jugées comme étant en hausse lorsque la courbe de 20 jours traverse la courbe de 44 jours, générant un signal d’achat.

  2. Technique de rupture du niveau de pression: le graphique montre que le prix de l’action a été approché à plusieurs reprises, mais n’a pas réussi à franchir le point de pression. Lorsque le prix de l’action a réussi à franchir le niveau de pression, le prix entre dans une nouvelle phase de hausse.

  3. Le RSI est un indicateur technique qui détermine si le marché est en survente ou en survente. Cette stratégie définit le RSI à 14 jours comme un signal de survente si l’indicateur est supérieur à 50.

  4. L’analyse des volumes de transactions: Le volume des transactions dépasse la moyenne des 10 derniers jours, ce qui laisse présager une augmentation des positions d’achat ou de vente sur le marché.

  5. Signaux d’achat: un signal d’achat est généré lorsque la moyenne à court terme traverse la moyenne à moyen terme et que le cours de l’action franchit le niveau de pression, que le marché est en survente et que le volume de transactions est supérieur à la moyenne des 10 derniers jours.

  6. Signaux de vente: définissez un critère de stop-loss si le prix de l’action est supérieur de 15% au prix d’achat et stop-loss si le prix est inférieur de 3%.

Cette stratégie utilise l’ensemble de plusieurs indicateurs techniques pour juger de la structure du marché et génère automatiquement des signaux de négociation lorsqu’une tendance indiquée apparaît. Elle appartient à une stratégie de trading quantitatif plus mature et complète.

Avantages stratégiques

  1. L’utilisation de la technique de l’uniformité pour juger de la structure du marché et capturer les tendances du marché de manière stable;

  2. L’analyse de la transaction combinée pour éviter d’ouvrir des positions dans des faux-breaks où la transaction n’est pas adaptée;

  3. La mise en place d’un mécanisme d’arrêt-stop-loss-exit permet de bien contrôler le rapport risque-bénéfice d’une seule transaction et d’éviter l’expansion des pertes;

  4. Dans l’ensemble, la stratégie est une stratégie de quantification qui a un bon effet, avec des jugements précis sur la structure du marché, des règles de négociation rigoureuses et une maîtrise des risques.

Risque stratégique

  1. Les systèmes de négociation en ligne à deux niveaux sont sensibles aux paramètres, et les paramètres doivent être ajustés selon les périodes.

  2. Les stratégies de simple suivi des tendances ne permettent pas de réagir à des événements inattendus, tels que des arrêts de perte inévitables face à des informations importantes sur les gains et les pertes.

  3. Bien qu’un stop loss ait été mis en place, il est inévitable qu’un nombre plus élevé de transactions entraîne un nombre plus élevé de stop-losses, ce qui entraîne un risque d’inégalité des niveaux de profit.

  4. Dans le long terme, les indicateurs techniques ont tendance à émettre des signaux au-delà de la meilleure période pour une reprise du marché.

Orientation de l’optimisation de la stratégie

  1. La méthode d’optimisation des paramètres peut être utilisée pour trouver la combinaison optimale de paramètres bi-médianes et optimiser le niveau de stop-loss.

  2. d’ajouter d’autres indicateurs de jugement, tels que la zone de correction de la courbe de Brin ou le MACD, pour améliorer le moment où le signal est émis;

  3. Augmenter les jugements de base ou d’actualité pour éviter les dommages causés par des informations négatives importantes;

  4. Optimiser les stratégies de gestion de fonds, telles que les transactions à volume fixe, les transactions à taux fixe, etc., afin de contrôler les risques individuels.

Résumer

Cette stratégie fonctionne globalement sans heurts, les jugements sont précis et les règles de négociation sont rigoureuses, les risques sont en place et appartiennent à l’une des stratégies de quantification les plus efficaces. Cependant, la stratégie de négociation technique sur la structure du marché a encore des limites. La possibilité d’optimisation consiste à ajouter d’autres jugements d’indicateurs et une considération globale des aspects fondamentaux de l’information.

Code source de la stratégie
/*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")