Stratégie d'achat dynamique de réentrée


Date de création: 2023-12-19 13:56:55 Dernière modification: 2023-12-19 13:56:55
Copier: 0 Nombre de clics: 643
1
Suivre
1621
Abonnés

Stratégie d’achat dynamique de réentrée

Aperçu

La stratégie est un système de négociation en achats uniquement, qui génère un signal d’achat basé sur la croisée des moyennes mobiles et l’indice de la chaîne de marchandises cyclique (CCI) ou l’indice de direction de la moyenne périodique (ADX). Un signal d’achat est généré lorsque la moyenne mobile passe lentement sur une moyenne mobile rapide et que la CCI et/ou l’ADX périodique répondent à certaines conditions.

La stratégie permet également une réentrée dynamique, ce qui signifie que de nouvelles positions à plusieurs positions peuvent être ouvertes si le prix franchit à nouveau les trois moyennes mobiles. Cependant, la stratégie éliminera les positions à plusieurs positions si le prix de clôture du marché franchit la troisième moyenne mobile.

Principe de stratégie

Le script définit les conditions pour générer un signal d’achat. Il vérifie deux conditions pour déterminer un signal d’achat valide:

  • Une moyenne mobile rapide sur une moyenne mobile lente
  • L’utilisateur peut choisir d’utiliser un filtre: cyclique CCI ou cyclique ADX

La vidéo a été postée sur le site de l’opposition.Si vous n’avez pas encore réglé une position sur plusieurs titres et que le prix est supérieur à trois moyennes mobiles, ouvrez une nouvelle position sur plusieurs titres.

Conditions de sortie:Si la clôture se situe au-dessous de la troisième moyenne mobile, la stratégie élimine la position plus élevée.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Le filtrage des signaux par des indicateurs multifonctionnels permet de réduire les signaux erronés
  2. Le mécanisme de réintégration dynamique capte au maximum les tendances
  3. Faire plus et éviter le risque de faire moins

Analyse des risques

La stratégie présente également les risques suivants:

  1. Il y a un risque de détournement.
  2. Les détenteurs de positions multiples peuvent être trop longs et doivent mettre en place un arrêt de perte
  3. Une mauvaise configuration des paramètres peut entraîner des transactions trop fréquentes

La réponse:

  1. Filtrage des ondes avec une meilleure combinaison de paramètres et d’indicateurs techniques
  2. Définissez un stop-loss raisonnable
  3. Ajustez les paramètres pour assurer leur stabilité

Direction d’optimisation

Cette stratégie peut être optimisée dans les domaines suivants:

  1. Test d’autres combinaisons d’indicateurs techniques pour trouver de meilleures opportunités d’achat
  2. Optimiser les paramètres pour trouver la meilleure combinaison de paramètres
  3. Augmentation des mécanismes de prévention des pertes et maîtrise des pertes individuelles
  4. Augmentation de la gestion des positions, augmentation ou diminution des positions en fonction des conditions du marché

Résumer

Cette stratégie d’achat de réentrée dynamique intègre plusieurs indicateurs techniques pour déterminer le moment d’achat et utilise une conception de réentrée dynamique pour suivre la tendance en temps réel; tout en évitant les risques supplémentaires liés au manque à gagner. Grâce à l’optimisation des paramètres, à la configuration des arrêts de perte et à la gestion des positions, la stratégie peut être utilisée dans les transactions en bourse pour obtenir des gains supplémentaires tout en contrôlant les risques.

Code source de la stratégie
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy Only Strategy with Dynamic Re-Entry and Exit", overlay=true)

// Input Parameters
fast_length = input(20, title="Fast Moving Average Length")
slow_length = input(30, title="Slow Moving Average Length")
third_ma_length = input(100, title="Third Moving Average Length")
cci_period = input(14, title="CCI Period for Weekly CCI")
use_cci = input(true, title="Use CCI for Entry")
use_adx = input(true, title="Use ADX for Entry")
adx_length = input(14, title="ADX Length")
adx_threshold = input(25, title="ADX Threshold")

// Calculate Moving Averages
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
third_ma = ta.sma(close, third_ma_length)

// Weekly Commodity Channel Index (CCI) with user-defined period
weekly_cci = request.security(syminfo.tickerid, "W", ta.cci(close,  cci_period))

// Weekly Average Directional Index (ADX)
dirmov = hlc3
plus = ta.change(dirmov) > 0 ? ta.change(dirmov) : 0
minus = ta.change(dirmov) < 0 ? -ta.change(dirmov) : 0
trur = ta.rma(ta.tr, adx_length)
plusDI = ta.rma(plus, adx_length) / trur * 100
minusDI = ta.rma(minus, adx_length) / trur * 100
sum = plusDI + minusDI
DX = sum == 0 ? 0 : math.abs(plusDI - minusDI) / sum * 100
ADX = ta.rma(DX, adx_length)

// Entry Conditions (Buy Only and Weekly CCI > 100 and/or Weekly ADX > 25)
cci_condition = use_cci ? (weekly_cci > 100) : false
adx_condition = use_adx ? (ADX > adx_threshold) : false
long_condition = ta.crossover(fast_ma, slow_ma) and (cci_condition or adx_condition)

// Exit Condition and Dynamic Re-Entry
exit_condition = close < third_ma
re_entry_condition = close > fast_ma and close > slow_ma and close > third_ma and weekly_cci > 100

// Entry and Exit Signals
strategy.entry("Long", strategy.long, when=long_condition)
strategy.close("Long", when=exit_condition)

// Dynamic Re-Entry and Exit
if strategy.position_size == 0 and re_entry_condition
    strategy.entry("Long", strategy.long)

if strategy.position_size > 0 and close < third_ma
    strategy.close("Long")

// Plot Weekly CCI and ADX for reference
plot(weekly_cci, title="Weekly CCI", color=color.orange)
plot(ADX, title="Weekly ADX", color=color.blue)