
Cette stratégie utilise le calcul de l’indicateur MACD de l’indicateur OBV pour déterminer les tendances et les points de basculement de l’énergie quantique de l’OBV afin de guider les décisions de négociation. Son idée de base est de générer un signal d’achat lorsque le diagramme MACD de l’OBV franchit l’axe 0 de la zone négative et entre dans la zone positive; et de générer un signal de vente lorsque la zone négative de la zone positive tombe sur l’axe 0 et entre dans la zone négative.
L’indicateur MACD est un indicateur central de cette stratégie. L’indicateur OBV peut refléter la tendance quantitative des actions, et il détermine si la tendance de la variation quantitative est renforcée ou affaiblie par la relation entre la direction de la variation du prix de clôture et la variation du volume de transactions sur une période donnée. L’indicateur MACD peut afficher la différence entre les différentes équilibres et refléter la dynamique de la variation des prix.
Plus précisément, cette stratégie commence par calculer l’indicateur OBV, qui calcule la ligne de force OBV en calculant la relation entre la direction du changement de prix de clôture et le volume de transactions sur une période de temps. Ensuite, il calcule son indicateur MACD sur la base de la ligne de force OBV, comprenant la ligne MACD, la ligne de signal et la colonne de histogramme. Enfin, un signal d’achat est généré lorsque l’histogramme macd franchit l’axe 0 de la zone négative vers le haut pour entrer dans la zone positive; un signal de vente est généré lorsque la colonne de diagramme franchit la zone 0 de la zone positive pour entrer dans la zone négative.
Ainsi, en affichant intuitivement les caractéristiques de la quantité d’énergie OBV, en déterminant les tendances de changement de la quantité d’énergie et en émettant des signaux de transaction avec la percée du MACD, il est possible d’améliorer l’exactitude des décisions de transaction.
Cette stratégie, combinée à l’analyse de la quantité d’énergie OBV et à l’indicateur de dynamique MACD, permet de juger avec plus de précision les variations de la quantité d’énergie en opposition et les tendances des prix, et de filtrer efficacement les signaux ALSE. Les avantages spécifiques sont les suivants:
Cette stratégie comporte également des risques, principalement liés aux aspects suivants:
Les mesures suivantes peuvent être prises pour contrer ces risques:
Il y a encore de la place pour optimiser la stratégie, principalement dans les domaines suivants:
Grâce à des tests et des optimisations constants, cette stratégie peut devenir une stratégie de trading quantitatif stable et efficace.
Cette stratégie est une stratégie quantifiée typique qui combine l’analyse quantitative et l’indicateur de dynamique pour déterminer la tendance des prix et émettre des signaux de négociation. Elle permet d’identifier clairement les points de basculement des fluctuations des prix, les signaux de négociation sont plus fiables et, si les paramètres sont définis de manière raisonnable, une meilleure stratégie peut être obtenue.
/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title = "MACD of OBV", overlay = false)
//////////////////////// OBV ///////////////////////////
src = close
obv = cum(change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume)
//////////////////////// OBV //////////////////////////
//////////////// MACD OF OBV ////////////////////////////
sourcemacd = obv
fastLength = input(12, minval=1), slowLength=input(26,minval=1)
signalLength=input(9,minval=1)
fastMA = ema(sourcemacd, fastLength)
slowMA = ema(sourcemacd, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)
delta=macd-signal
swap1 = delta>0?green:red
plot(delta,color=swap1,style=columns,title='Histo',histbase=0,transp=20)
p1 = plot(macd,color=blue,title='MACD Line')
p2 = plot(signal,color=red,title='Signal')
fill(p1, p2, color=blue)
hline(0)
/////////////////////////MACD OF OBV //////////////////////////
// Conditions
longCond = na
sellCond = na
longCond := crossover(delta,0)
sellCond := crossunder(delta,0)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( longCond )
strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
else
strategy.cancel(id="BUY")
if ( sellCond )
strategy.close("BUY")