Stratégie de point d'achat inversé à double indicateur


Date de création: 2024-01-04 17:39:13 Dernière modification: 2024-01-04 17:39:13
Copier: 1 Nombre de clics: 531
1
Suivre
1621
Abonnés

Stratégie de point d’achat inversé à double indicateur

Aperçu

Cette stratégie consiste à déterminer le moment de l’achat en combinant le volume des transactions et l’indicateur RSI, et à gérer les positions en utilisant un objectif stop-loss progressivement rentable. La stratégie s’applique aux conditions de choc et peut être utilisée pour bloquer efficacement les achats répétés dans les chocs de chute de petite taille.

Principe de stratégie

La stratégie utilise deux indicateurs pour identifier le moment de l’achat: le volume de transactions et le RSI. La logique spécifique est d’émettre un signal d’achat lorsque le volume de transactions est supérieur à 2,5 fois la moyenne du volume de transactions sur les 70 derniers jours et que le RSI est inférieur à 30 (niveau de survente).

Une fois que la position d’achat est établie, la stratégie définit 5 objectifs de stop différents: 0,4%, 0,6%, 0,8%, 1,0% et 1,2% et arrête progressivement en fonction du ratio de position: 20%, 40%, 60%, 80% et 100% jusqu’à ce que la position entière soit à plat.

Ainsi, en mettant en place des stop-loss par lots, on peut bloquer les petits gains et éviter de perdre des bénéfices en attendant des gains plus importants. Le stop-loss permet de contrôler les pertes individuelles.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’utilisation d’indicateurs doubles pour identifier les points d’achat, afin d’éviter les fausses ruptures. L’amplification du volume de négociation peut confirmer la résistance des fonds, et l’excédent du RSI peut déterminer la probabilité d’un rebond addon.

  2. La stratégie de blocage en lots permet de maximiser les opportunités de profit en cas de faibles fluctuations, sans avoir à attendre une forte hausse.

  3. Cette stratégie s’applique à des situations de choc, en particulier dans les marchés où les prix rebondissent dans les zones d’unfinished institutionnel.

  4. Les points de rupture sont plus larges, ce qui donne suffisamment de marge de manœuvre au marché.

Analyse des risques

Les principaux risques de cette stratégie sont:

  1. Les signaux de confirmation du double indicateur présentent un risque de mal interprétation et peuvent être achetés avec de faux points de rupture. Le risque peut être réduit par une optimisation des paramètres.

  2. Le blocage par lots peut se traduire par un manque à gagner important en raison d’une position trop petite. Il peut être optimisé en ajustant le point d’arrêt et le ratio de position.

  3. Les stop-loss sont plus importants et les pertes individuelles peuvent être plus importantes.

  4. Les marchés dynamiques présentent un risque de tendance plus important pour les marchés instables. Il est nécessaire de prêter attention à la structure du marché à grande échelle.

  5. Une fréquence de transactions plus élevée entraîne une augmentation des coûts de transaction.

Direction d’optimisation

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

  1. Optimiser le volume des transactions et la combinaison des paramètres RSI, réduire le taux d’erreur. D’autres indicateurs tels que MACD, KDJ peuvent également être introduits pour la confirmation.

  2. Il est possible de tester différents niveaux d’arrêt et de positions pour trouver la combinaison optimale de paramètres. Il est également possible d’introduire un mécanisme d’arrêt dynamique.

  3. Optimiser les stratégies de gestion des positions et réduire la probabilité de pertes individuelles grâce à un système de gestion des positions à risque.

  4. Ajout d’un module de jugement de tendance permettant d’identifier les virages de tendance et d’arrêter les pertes en temps opportun.

  5. L’introduction d’une transaction algorithmique et d’un système de rétroaction quantifiée pour parcourir rapidement les différents paramètres et trouver la combinaison optimale de paramètres.

  6. Le modèle de contrôle des points de glissement et de contrôle des coûts de la stratégie de négociation à haute fréquence au niveau de l’établissement permet de réduire le nombre de transactions tout en garantissant des taux de profit.

Résumer

Cette stratégie de double indicateur inverse le point d’achat, par le volume de négociation d’augmentation plus RSI survendre juger le fond, l’utilisation d’une méthode de fractionnement de l’intérêt pour verrouiller les petits bénéfices dans les conditions de choc. L’avantage est de profiter fréquemment, pas besoin d’attendre une grande tendance; Les inconvénients sont les signaux faciles à mal interpréter et la fréquence de négociation élevée.

Code source de la stratégie
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wielkieef

//@version=5

strategy(title='BTFD strategy [3min]', overlay=true, pyramiding=5, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)


// Volume

vol_sma_length = input.int(70, title='Volume lenght  ', minval=1)
Volume_condt = volume > ta.sma(volume, vol_sma_length) * 2.5


// Rsi

rsi_lenght = input.int(20, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)

rsi_overs = rsi_value <= 30
rsi_overb = rsi_value >= 70


// logic

tp_1 = input.float(0.4,"  TP 1", minval=0.1, step=0.1)
tp_2 = input.float(0.6,"  TP 2", minval=0.2, step=0.1)
tp_3 = input.float(0.8,"  TP 3", minval=0.3, step=0.1)
tp_4 = input.float(1.0,"  TP 4", minval=0.4, step=0.1)
tp_5 = input.float(1.2,"  TP 5", minval=0.5, step=0.1)

q_1 = input.int(title='  % TP 1 Q ', defval=20,  minval=1, step=10)
q_2 = input.int(title='  % TP 2 Q ', defval=40,  minval=1, step=10)
q_3 = input.int(title='  % TP 3 Q ', defval=60,  minval=1, step=10)
q_4 = input.int(title='  % TP 4 Q ', defval=80,  minval=1, step=10)
q_5 = input.int(title='  % TP 5 Q ', defval=100, minval=1, step=10)

sl = input.float(5.0, '% Stop Loss', step=0.1)

long_cond = Volume_condt and rsi_overs

// this code is from author RafaelZioni, modified by wielkieef
per(procent) =>
    strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
// --------------------------------------------------------------------------------------------------------------------

if  long_cond
    strategy.entry('BUY', strategy.long)

strategy.exit('TP 1', qty_percent=q_1, profit=per(tp_1), loss=per(sl) )
strategy.exit('TP 2', qty_percent=q_2, profit=per(tp_2), loss=per(sl) )
strategy.exit('TP 3', qty_percent=q_3, profit=per(tp_3), loss=per(sl) )
strategy.exit('TP 4', qty_percent=q_4, profit=per(tp_4), loss=per(sl) )
strategy.exit('TP 5', qty_percent=q_5, profit=per(tp_5), loss=per(sl) )

 
// by wielkieef