
La stratégie de bi-équilibre est une stratégie de suivi de tendance plus courante. Elle utilise deux équilibres de différentes périodes pour juger de la tendance des tendances et effectuer des transactions en fonction de leur intersection. Plus précisément, lorsque la courte moyenne périodique traverse la longue moyenne périodique, un signal de bi-équilibre est généré.
La stratégie utilise principalement les EMA de 6 cycles, 14 cycles, 25 cycles et 80 cycles. La stratégie calcule d’abord les valeurs de ces quatre courbes moyennes, puis juge le mouvement du marché en fonction de l’intersection de l’EMA de 6 cycles avec les trois autres courbes moyennes.
Un signal d’achat est généré lorsque l’EMA à 6 cycles traverse une EMA à 14 cycles ou à 25 cycles et que l’EMA à 6 cycles est supérieure à l’EMA à 80 cycles. Cela indique que la moyenne à court terme est en train de dépasser la moyenne à moyen et long terme et que le marché pourrait entrer dans une tendance à la hausse.
En revanche, un signal de vente est généré lorsque l’EMA à 6 cycles est inférieure à l’EMA à 14 cycles ou à 25 cycles et inférieure à l’EMA à 80 cycles. Cela signifie que la moyenne à court terme est dépassée par la moyenne à long terme et que le marché peut entrer dans une tendance baissière et peut donc être considéré comme vendu.
Une fois le signal de transaction généré, la stratégie ouvre une position d’achat ou de vente. De plus, la stratégie a également une logique de stop-loss, lorsque les pertes dépassent le pourcentage de stop-loss défini, la stratégie sort de la position pour contrôler le risque.
Cette stratégie présente les avantages suivants:
La tendance à l’utilisation de la courbe de la moyenne est un indicateur technique plus mature et plus fiable.
La combinaison de plusieurs périodes permet de réduire la probabilité d’erreur de jugement. La moyenne de 6 périodes est responsable de la production de signaux de négociation, la moyenne de 14 périodes, la moyenne de 25 périodes sert de confirmation et la moyenne de 80 périodes juge la tendance globale.
Le système de stop loss permet de maîtriser le risque de perte et de protéger efficacement les fonds.
La logique de la stratégie est simple et claire, facile à comprendre et à vérifier.
Les paramètres de stratégie peuvent être ajustés en fonction de la situation du marché.
Cette stratégie comporte aussi des risques:
En cas d’oscillation, la ligne moyenne peut produire plusieurs croisements inefficaces, entraînant un trop grand nombre de transactions inefficaces. L’optimisation de la période de la ligne moyenne peut être ajustée de manière appropriée.
Le mode de stop fixe peut être trop mécanique et peut être remplacé par un stop suivi ou un stop dynamique.
Un saut en hauteur important entraîne un risque de rupture de l’arrêt. Le saut de l’arrêt peut être jugé en combinaison avec des conditions supplémentaires.
Il ne peut pas répondre aux fluctuations de prix à court terme. Il peut être combiné avec d’autres indicateurs pour filtrer les signaux de négociation.
L’espace d’optimisation des paramètres est limité. Vous pouvez essayer de l’améliorer pour l’équilibre d’adaptation.
Cette stratégie peut être optimisée dans les domaines suivants:
Tester différentes combinaisons de cycles de moyenne ligne pour trouver des paramètres de cycle plus sensibles au marché.
Améliorer les mécanismes de stop-loss, en utilisant un stop-loss suivi ou un stop-loss dynamique, afin de réduire la probabilité que le stop-loss soit franchi.
Ajouter d’autres indicateurs pour filtrer les fluctuations, tels que KDJ, MACD, etc., afin d’éviter une surproduction de transactions inefficaces pendant les chocs.
Optimiser les conditions d’entrée, en attendant que la ligne d’égalité soit complètement croisée pour entrer, réduire les faux signaux.
Utilisez une moyenne adaptative pour ajuster automatiquement le paramètre de la moyenne en fonction des fluctuations du marché.
Le nouveau mécanisme de gestion des positions, qui permet d’ajuster les positions en fonction des conditions du marché.
Ajout d’un mécanisme d’arrêt et de sortie.
Dans l’ensemble, la stratégie bi-linéaire de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la fourchette de la four
/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = " bhramaji EMA Cross Strategy", shorttitle = "EMA Cross",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(true,"UseStopLoss")
stopLoss = input(20, title = "Stop loss percentage(0.1%)")
maSource = input(defval = close, title = "MA Source")
maLength6 = input(defval = 6, title = "MA Period 6", minval = 1)
maLength14 = input(defval = 14, title = "MA Period 14", minval = 1)
maLength25 = input(defval = 25, title = "MA Period 25", minval = 1)
maLength80 = input(defval = 80, title = "MA Period 80", minval = 1)
ma6 = ema(maSource, maLength6)
ma14 = ema(maSource, maLength14)
ma25 = ema(maSource, maLength25)
ma80 = ema(maSource, maLength80)
ma_6_plot = plot(ma6 , title = "MA 6", color = red, linewidth = 2, style = line, transp = 50)
ma14_plot = plot(ma14, title = "MA 14", color = green, linewidth = 2, style = line, transp = 50)
ma25_plot = plot(ma25, title = "MA 25", color = blue, linewidth = 2, style = line, transp = 50)
ma80_plot = plot(ma80, title = "MA 80", color = silver, linewidth = 2, style = line, transp = 50)
longEMA = (crossover(ma6, ma14) or crossover(ma6, ma25)) and (ma6>ma80)
exitLong = (crossunder(ma6, ma14) or crossunder(ma6, ma25))
shortEMA = (crossunder(ma6, ma14) or crossunder(ma6, ma25)) and (ma6< ma80)
exitShort =(crossover(ma6, ma14) or crossover(ma6, ma25))
if (longEMA)
strategy.entry("LongId", strategy.long)
if (shortEMA)
strategy.entry("ShortId", strategy.short)
if (UseStopLoss)
strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)