
Cette stratégie utilise la forme de la ligne moyenne croisée de différentes périodes et l’indicateur RSI pour déterminer le moment de la vente et de la vente du marché. La stratégie peut être optimisée en temps réel en ajustant les paramètres.
Cette stratégie est principalement utilisée pour déterminer le moment de l’achat et de la vente en utilisant la fourche dorée et la fourche morte de la moyenne EMA.
En particulier, la logique de jugement du signal d’achat est la suivante: acheter lorsque le prix franchit l’EMA20 en dessous et le forcage de l’EMA50 en haut, afin de pouvoir déterminer plus efficacement le point de basculement de la tendance. En outre, il faut satisfaire à la condition que le prix de clôture soit inférieur au prix d’ouverture et inférieur au prix le plus bas de la veille, ce qui élimine certaines fausses percées.
Nous avons associé les conditions d’achat ci-dessus à des paramètres différents, construisant 4 règles d’achat correspondant respectivement à des périodes de moyenne et à des quantités différentes. Cela peut être réalisé en établissant des positions par lots, ce qui permet de réaliser une distribution moyenne des quantités.
En ce qui concerne la vente et le retrait, les conditions de jugement sont les suivantes: vendre lorsque le prix est au-dessus de l’EMA10 et que l’indicateur RSI affiche un signal de survente; ou vendre lorsque le prix est en dessous de l’EMA10 et que l’indicateur RSI affiche une survente. En outre, les conditions de satisfaction d’un certain ratio de profit sont également examinées.
Le plus grand avantage de cette stratégie réside dans le fait qu’elle permet de suivre la tendance en déterminant les points de retournement du marché en utilisant la forme croisée de la ligne de parité. Par rapport au système de ligne de parité unique, la méthode de croisement de la ligne de parité double permet de filtrer certains faux signaux. En outre, cette stratégie introduit également l’indicateur RSI pour déterminer les zones de survente et de survente, ce qui peut également réduire efficacement le risque de transaction.
L’autre avantage est la création d’un portefeuille en lots par régulation de paramètres. Cette méthode d’ajout de portefeuille pyramidale permet aux prix de coût de se déplacer continuellement vers le bas et de tirer le meilleur parti de la tendance.
Les principaux risques de cette stratégie sont les suivants:
Les systèmes homogènes sont eux-mêmes sensibles à la latence et ne peuvent pas réagir à des événements soudains, ce qui peut entraîner une perte de temps. Ce risque peut être réduit en ajoutant des points d’arrêt.
Cette stratégie ne limite pas la période d’achat, car une erreur de configuration peut entraîner des achats prématurés, ce qui peut entraîner un blocage dans la zone de compensation. Ce risque peut être résolu en limitant la zone d’achat.
La méthode de construction par lots de cette stratégie peut entraîner des positions trop importantes pour supporter un risque de rupture unilatérale. Cela peut être réduit en ajustant les paramètres de niveau d’eau et en ajoutant un mécanisme de contrôle du risque.
Cette stratégie peut également être optimisée dans les directions suivantes:
L’ajout d’une stratégie de stop loss, qui permet de contrôler efficacement le risque de baisse lorsque le prix tombe au-dessous de certains supports clés.
Ajout d’un module de vérification avant la transaction pour déterminer la direction de la tendance à grande échelle, en évitant le risque de trading à contre-courant en ne prenant position que lorsque la tendance est à la hausse.
Limiter les intervalles d’achat, limiter le stockage à une période donnée, éviter l’ouverture prématurée des positions.
L’introduction d’algorithmes d’apprentissage automatique, combinés à des facteurs de jugement multifactoriels, peut améliorer le taux de réussite de la stratégie.
Cet article décrit en détail une stratégie de quantification de la longue ligne, qui utilise une forme de croix bi-homogène combinée à l’indicateur RSI pour déterminer le point d’entrée, et prend la méthode de construction de stock en lots pour obtenir la plus grande efficacité. Cette stratégie peut s’appliquer à la plupart des indices et des actions par ajustement des paramètres, une stratégie de suivi de la longue ligne plus universelle.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA_zorba1", shorttitle="3 NIFTY RSI EMA", overlay=true)
// Input parameters
qt1 = input.int(1, title="Quantity 1", minval=1)
qt2 = input.int(2, title="Quantity 2", minval=1)
qt3 = input.int(3, title="Quantity 3", minval=1)
qt4 = input.int(4, title="Quantity 4", minval=1)
ema10 = ta.ema(close, 10)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)
// RSI(14) condition
rsi_threshold = 65
rsi_crossed_above_70 = ta.rsi(close, 14) > rsi_threshold
rsi_crossed_above_70_two_days_ago = ta.rsi(close[5], 14) > rsi_threshold or ta.rsi(close[4], 14) > rsi_threshold or ta.rsi(close[3], 14) > rsi_threshold
rsi_crossed_above_70_yesterday = ta.rsi(close[1], 14) > rsi_threshold
// Date range filter
start_date = timestamp(year=2021, month=1, day=1)
end_date = timestamp(year=2024, month=1, day=1)
in_date_range = true
// Profit condition
profit_percentage = input(1, title="Profit Percentage") // Adjust this value as needed
// Pyramiding setting
pyramiding = input.int(1, title="Pyramiding", minval=1, maxval=10)
// Buy conditions
buy_condition_1 = in_date_range and close < ema20 and close > ema50 and close < open and close < low[1]
buy_condition_2 = in_date_range and close < ema50 and close > ema100 and close < open and close < low[1]
buy_condition_3 = in_date_range and close < ema100 and close > ema200 and close < open and close < low[1]
buy_condition_4 = in_date_range and close < ema200 and close < open and close < low[1]
// Exit conditions
profit_condition = strategy.position_avg_price * (1 + profit_percentage / 100) <= close
exit_condition_1 = in_date_range and ((close > ema10 and ema10 > ema20 and ema10 > ema50 and ema10 > ema100 and ema10 > ema200 and close < open) and rsi_crossed_above_70_two_days_ago) and profit_condition and close < low[1] and close < low[2]
exit_condition_2 = in_date_range and ((close < ema10 and close[1] > ema10 and close < close[1] and ema10 > ema20 and ema10 > ema50 and ema10 > ema100 and ema10 > ema200 and close < open) and rsi_crossed_above_70_yesterday) and profit_condition and close < low[1] and close < low[2]
// Strategy logic
strategy.entry("Buy1", strategy.long, qty=qt1 * pyramiding, when=buy_condition_1)
strategy.entry("Buy2", strategy.long, qty=qt2 * pyramiding, when=buy_condition_2)
strategy.entry("Buy3", strategy.long, qty=qt3 * pyramiding, when=buy_condition_3)
strategy.entry("Buy4", strategy.long, qty=qt4 * pyramiding, when=buy_condition_4)
strategy.close("Buy1", when=exit_condition_1 or exit_condition_2)
strategy.close("Buy2", when=exit_condition_1 or exit_condition_2)
strategy.close("Buy3", when=exit_condition_1 or exit_condition_2)
strategy.close("Buy4", when=exit_condition_1 or exit_condition_2)