Stratégie de négociation à long terme uniquement pour les actions Vortex et RSI

Auteur:ChaoZhang est là., Date: 2023-09-19 22:01:09
Les étiquettes:

Résumé

Cette stratégie utilise l'indicateur Vortex pour déterminer la direction de la tendance du marché et identifier les opportunités longues.

La logique de la stratégie

  1. Calculer le VIP positif et le VIM négatif de l'indicateur Vortex.

  2. Lorsque le VIP franchit le VIM et que la clôture est supérieure au sommet précédent, un signal d'achat est généré.

  3. Calculer les valeurs du RSI. Lorsque le RSI dépasse 70, un signal de vente est généré.

  4. Lorsque le VIM dépasse le seuil VIP et que la clôture est inférieure au seuil précédent, un signal de vente est également déclenché.

  5. Réglez le stop loss à stop_loss% du capital initial, et prenez un profit à Target_profit% du capital initial.

L'indicateur de vortex juge bien les tendances haussières / baissières. L'ajout du RSI empêche les risques de surchauffe. Stop loss / take profit ajoute de la robustesse.

Analyse des avantages

  1. Vortex identifie avec précision les tendances avec des signaux clairs.

  2. RSI évite les risques de surchauffe et de poursuite des sommets.

  3. Les arrêts dynamiques définissent un rapport risque/rendement prédéfini.

  4. Les arrêts réglables s'adaptent à différents environnements de marché.

  5. Des règles simples et claires, faciles à mettre en œuvre.

  6. Extensible avec d'autres indicateurs.

Analyse des risques

  1. Le Vortex a un effet de retard, peut manquer des opportunités.

  2. Un stop-loss trop faible peut entraîner des coups de fouet.

  3. Prendre un profit trop important peut limiter les profits.

  4. Une trop grande confiance en RSI provoque des défaillances.

  5. Les coûts de négociation ne sont pas pris en compte.

  6. Aucune règle de taille de position.

Directions d'optimisation

  1. Testez et optimisez les paramètres pour Vortex et RSI.

  2. Essayez de combiner Vortex avec OBV etc.

  3. Améliorer les stratégies de stop-loss comme le stop de trail, la sortie du lustre, etc.

  4. Ajouter un module de dimensionnement des positions pour limiter les pertes d'une seule transaction.

  5. Considérez plus de filtres comme KD, MACD pour le timing d'entrée.

  6. Utiliser l'apprentissage automatique pour une meilleure optimisation des paramètres.

  7. Ajoutez des facteurs fondamentaux pour améliorer le taux de victoire.

Conclusion

Cette stratégie intègre le Vortex pour la tendance et le RSI pour le contrôle de la surchauffe dans un système d'actions à long terme stable. Les paramètres stop loss/take profit permettent également de gérer le risque.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by Sauciusfinance 
////////////////////////////////////////////////////////////
strategy(title="Vortex and RSI ts 2020",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=20000,commission_value=.25,overlay = true,default_qty_type = strategy.cash, default_qty_value = 20000)
//inputs////////////////////////
n = input(title="vortex period",type=input.integer, defval = 14)
m = input(title = "RSI period", type=input.integer, defval = 14)
// CALCULATIONS *** ///////
VMP = sum( abs( high - low[1]), n )
VMM = sum( abs( low - high[1]), n )
STR = sum( atr(1), n )
VIP = VMP / STR
VIM = VMM / STR
// bring the lines in the panel below, add another panel with RSI
plot(VIP, title="VI +", color=#311B92)
plot(VIM, title="VI -", color=#FF006E)

// RSI on total price, always
totalprice = (high + low+close + open)/4
myrsi = rsi(m, totalprice)
strategy.initial_capital = 50000
//// TRADING SYSTEM CODE //// 
entryl = crossover(VIP, VIM) and close >= high[1] 
strategy.entry("Long", true, when=entryl, comment = "Go!")
exit1 = crossover(VIM, VIP) and close <= low[1]
strategy.close("Long", when=exit1, comment = "Vortex down")
exit2 = crossunder(myrsi, 70)
strategy.close("Long", when=exit2, comment = "RSI down")
//money management
stop_loss=input(7, "Stop loss %", minval = 1, step = 1)
sl = -1*stop_loss/100*strategy.initial_capital
close_Stop = strategy.openprofit < sl
strategy.close("Long", when = close_Stop)
Target_profit=input(16, "Target Profit %", minval = 1, step = 1)
tp = Target_profit/100*strategy.initial_capital
close_Target = strategy.openprofit > tp
strategy.close("Long", when = close_Target)



Plus de