Stratégie de percée à court terme basée sur le Golden Crossover

Auteur:ChaoZhang est là., Date: le 27 février 2024 à 17 h 46 min 55 s
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de suivi à court terme basée sur des moyennes mobiles. Il utilise le croisement doré des moyennes mobiles à long terme et à court terme comme signaux d'achat, et le croisement de la mort comme signaux de vente. Combiné avec l'indicateur RSI pour filtrer les faux signaux, il s'agit d'une stratégie de trading à court terme typique adaptée au trading intraday à haute fréquence.

La logique de la stratégie

La stratégie utilise une moyenne mobile simple de 200 périodes malong comme ligne à long terme et une moyenne mobile exponentielle de 21 périodes mashort comme ligne à court terme. Elle génère des signaux d'achat lorsque le prix dépasse la ligne à long terme et que le RSI est inférieur à 20. Les signaux de vente sont générés lorsque le prix dépasse la ligne à court terme et que le RSI dépasse 80. Pour filtrer les faux signaux, des critères supplémentaires sont définis: les positions longues ne sont fermées que lorsque le prix est inférieur à la ligne à court terme et au-dessus du prix le plus bas de la barre précédente; les positions courtes ne sont fermées que lorsque le prix est au-dessus de la ligne à court terme et au-dessous du prix le plus élevé de la barre précédente.

La stratégie définit également un stop loss de 1% et un profit de 1%. C'est-à-dire que le stop loss pour les positions longues est fixé à 99% du prix d'entrée et le profit de prise est de 101% du prix d'entrée. Pour les positions courtes, c'est l'inverse. Cela garantit un contrôle strict du risque pour chaque transaction.

Les avantages

Le plus grand avantage de cette stratégie réside dans sa capacité de suivi à court terme. Les combinaisons croisées or/mort des moyennes mobiles sont des indicateurs techniques efficaces pour identifier les changements de tendance à court terme. Combinés avec le filtrage de valeur extrême du RSI, ils peuvent détecter efficacement les opportunités d'inversion à court terme et ajuster rapidement les positions. De telles stratégies à haute fréquence peuvent capturer pleinement les fluctuations de prix à court terme et réaliser des profits.

Un autre avantage est le mécanisme strict de stop loss défini dans la stratégie. Que ce soit long ou court, le stop loss est fixé à 1% en dessous du prix d'entrée/sortie, ce qui permet un stop loss rapide pour empêcher l'élargissement des pertes. De même, le take profit est fixé à 1% pour verrouiller les gains en temps opportun après le profit.

Les risques

Le plus grand risque de cette stratégie est qu'elle peut entraîner une négociation excessive. Lorsque le prix oscille près des moyennes mobiles, il a tendance à déclencher fréquemment des ouvertures et des fermetures, ce qui n'est pas propice au contrôle des coûts de transport et des frais de transaction. Dans ce cas, un assouplissement approprié des paramètres de l'indicateur est nécessaire pour réduire les transactions inutiles.

Un autre risque réside dans les faux signaux des moyennes mobiles. Lorsque les prix connaissent de fortes fluctuations, la tendance réelle peut ne pas changer, mais la moyenne mobile peut toujours donner de mauvais signaux. C'est à ce moment-là que le filtrage des valeurs extrêmes du RSI doit être utilisé pour éviter de poursuivre les hauts et les bas. Les paramètres du RSI peuvent être testés et optimisés pour rendre le filtrage plus strict.

Directions d'optimisation

Les aspects suivants de la stratégie peuvent être encore optimisés:

  1. Ajouter d'autres indicateurs de filtrage, tels que KD, MACD, etc., pour déterminer la tendance réelle du marché sur la base de plusieurs indicateurs, en évitant de faux signaux.

  2. Optimiser les paramètres de la moyenne mobile en testant différents paramètres du cycle pour déterminer l'impact sur les performances.

  3. Optimiser les paramètres d'arrêt des pertes et de prise de profit pour élargir de manière appropriée la plage d'arrêt des pertes afin de réduire la probabilité d'être arrêté.

  4. Ajouter des filtres de session de négociation pour ne prendre des positions que pendant les heures de négociation actives afin de minimiser les risques du jour au lendemain.

  5. Ajoutez le cycle intradien et les filtres d'entrepôt vides pour réduire la fréquence des transactions inutiles et les coûts de dépenses.

Conclusion

En résumé, il s'agit d'une stratégie de suivi à court terme typique. Elle utilise les combinaisons croisées or / mort des moyennes mobiles pour déterminer les tendances à court terme, complétée par des indicateurs RSI pour filtrer les faux signaux. La stratégie présente l'avantage d'un trading intradien à haute fréquence qui peut capturer pleinement les fluctuations de prix à court terme.


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("simple pull back", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Input values
malongperiod = input.int(200, "Long Term SMA Period", group="Parameters")
mashortperiod = input.int(21, "Short Term SMA Period", group="Parameters")
stoprate = 1  // Set the stop loss percentage to 1%
profit = input.int(1, "Take Profit Percentage", group="Parameters") // Change the take profit percentage to 1%
startday = input(title="Start Trade Day", defval=timestamp("01 Jan 2000 13:30 +0000"), group="Period")
endday = input(title="End Trade Day", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Period")

// Plotting indicators
malong = ta.sma(close, malongperiod)
mashort = ta.ema(close, mashortperiod)

plot(malong, color=color.aqua, linewidth=2)
plot(mashort, color=color.yellow, linewidth=2)

// Date range
datefilter = true

// Long entry condition
if close > malong and close < mashort and strategy.position_size == 0 and datefilter and ta.rsi(close, 3) < 20
    strategy.entry("Long", strategy.long)

// Short entry condition
if close < malong and close > mashort and strategy.position_size == 0 and datefilter and ta.rsi(close, 3) > 80
    strategy.entry("Short", strategy.short)

// Exit conditions with 1% stop loss and 1% take profit
strategy.exit("Cut", "Long", stop=(1 - 0.01 * stoprate) * strategy.position_avg_price, limit=(1 + 0.01 * profit) * strategy.position_avg_price)

if close > mashort and close < low[1] and strategy.position_size > 0
    strategy.close("Long")
if close < mashort and close > high[1] and strategy.position_size < 0
    strategy.close("Short")

Plus de