Stratégie à double équilibre taureaux et ours

Auteur:ChaoZhang est là., Date: 2023-10-30 à 10h31 et 17h
Les étiquettes:

img

Résumé

La stratégie des taureaux et des ours à double équilibre est une stratégie combinée qui intègre la stratégie 123 Reversal et l'indicateur de balance des taureaux et des ours.

Principaux

La stratégie est composée de deux sous-stratégies:

  1. 123 Stratégie d'inversion. Il génère des signaux lorsque les deux derniers prix de clôture montrent un renversement, c'est-à-dire qu'il va long lorsque les deux prix de clôture précédents diminuent tandis que le troisième prix de clôture augmente, et court lorsque les deux prix de clôture précédents augmentent tandis que le troisième prix de clôture diminue. Il intègre également l'indicateur STOCH pour ne prendre des signaux que lorsque STOCH montre des conditions de survente ou de surachat.

  2. Stratégie de l'indicateur de solde Taureaux et ours. Il juge la tendance du marché en calculant l'équilibre entre les forces haussières et baissières. Plus précisément, il utilise la différence entre le prix de clôture actuel et le prix d'ouverture, ainsi que la différence entre le jour actuel et le jour précédent pour déterminer les forces haussières et baissières. Plus la différence entre les forces haussières et baissières est grande, plus la tendance est prononcée.

La stratégie combinée tire ses signaux de trading des signaux générés par les deux sous-stratégies. Elle ne prendra un signal, par exemple long, que lorsque les deux sous-stratégies donnent des signaux cohérents, c'est-à-dire que les deux signalent de long. Si les signaux des deux sous-stratégies diffèrent, la stratégie combinée sautera ce signal et restera en marge.

Les avantages

Le plus grand avantage de la stratégie des taureaux et des ours en double équilibre est sa grande fiabilité. En exigeant des signaux cohérents des deux sous-stratégies avant d'entrer dans un commerce, il sert de mécanisme de vérification pour éviter de faux signaux. En outre, les deux sous-stratégies exploitant respectivement les opportunités des côtés de l'inversion et de la tendance, la stratégie offre une diversification pour atténuer les risques d'une seule stratégie.

La stratégie 123 peut capturer les opportunités d'inversion à court terme sur le marché. La stratégie Bulls and Bears Balance peut déterminer la direction de la tendance à long terme.

Les risques

Le plus grand risque est que la probabilité de signaux erronés des sous-stratégies double. Bien que la stratégie combinée nécessite des signaux cohérents, si les deux sous-stratégies donnent des signaux erronés en même temps, la stratégie combinée entrera toujours dans le commerce, entraînant des pertes doublées.

En outre, des conflits peuvent survenir entre les sous-stratégies, l'une signalant d'aller long tandis que l'autre court. La stratégie combinée manquera alors des opportunités. Des conflits prolongés peuvent empêcher la stratégie combinée d'entrer pendant longtemps, ce qui diminue l'efficacité du capital.

Optimisation

Considérez l'incorporation d'une stratégie d'inversion de tendance comme troisième sous-stratégie. Elle peut aider à déterminer la tendance à long terme et donner des signaux lorsque la tendance s'inverse. L'ajout d'une stratégie pour juger de la tendance du marché peut filtrer davantage les faux signaux et augmenter la stabilité.

Une autre orientation consiste à ajuster les paramètres des sous-stratégies pour des signaux plus alignés, par exemple en ajustant les paramètres de seuil de la stratégie de la balance haussière et baissière pour capturer les tendances plus faibles et compléter la stratégie d'inversion.

La gestion des conflits prolongés entre les sous-stratégies peut également être étudiée. Par exemple, la définition d'un niveau de tolérance maximale pour les conflits, après quoi le signal d'une sous-stratégie individuelle sera pris. Cela peut atténuer la perte d'opportunités dans une certaine mesure.

Conclusion

La stratégie des taureaux et des ours à double équilibre combine la stratégie 123 de l'inversion et la stratégie de l'équilibre des taureaux et des ours pour obtenir une double vérification des signaux de trading et filtrer efficacement les faux signaux et augmenter la stabilité. Pendant ce temps, la combinaison des stratégies d'inversion et de tendance offre une diversification pour réduire les risques. La stratégie peut être optimisée en ajustant les paramètres, en ajoutant une troisième stratégie, etc. pour améliorer l'alignement et l'efficacité du capital.


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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/07/2019
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
//    This new indicator analyzes the balance between bullish and
//    bearish sentiment.
//    One can cay that it is an improved analogue of Elder Ray indicator.
//    To get more information please see "Bull And Bear Balance Indicator" 
//    by Vadim Gimelfarb. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

BullAndBearBalance(SellLevel, BuyLevel) =>
    pos = 0
    value =  iff (close < open , 
              iff (close[1] > open ,  max(close - open, high - low), high - low), 
               iff (close > open, 
                 iff(close[1] > open, max(close[1] - low, high - close), max(open - low, high - close)), 
                  iff(high - close > close - low, 
                   iff (close[1] > open, max(close[1] - open, high - low), high - low), 
                     iff (high - close < close - low, 
                      iff(close > open, max(close - low, high - close),open - low), 
                       iff (close > open, max(close[1] - open, high - close),
                         iff(close[1] < open, max(open - low, high - close), high - low))))))

    value2 = iff (close < open , 
              iff (close[1] < open ,  max(high - close[1], close - low), max(high - open, close - low)), 
               iff (close > open, 
                 iff(close[1] > open,  high - low, max(open - close[1], high - low)), 
                  iff(high - close > close - low, 
                   iff (close[1] < open, max(high - close[1], close - low), high - open), 
                     iff (high - close < close - low, 
                      iff(close[1] > open,  high - low, max(open - close, high - low)), 
                       iff (close[1] > open, max(high - open, close - low),
                         iff(close[1] < open, max(open - close, high - low), high - low))))))
    nBBB = value2 - value
    pos := iff(nBBB < SellLevel, -1,
    	   iff(nBBB >= BuyLevel, 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Bull And Bear Balance", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SellLevel = input(-15, step=0.01)
BuyLevel = input(15, step=0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBullAndBearBalance = BullAndBearBalance(SellLevel, BuyLevel)
pos = iff(posReversal123 == 1 and posBullAndBearBalance == 1 , 1,
	   iff(posReversal123 == -1 and posBullAndBearBalance == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Plus de