
Je l’appellerai la stratégie de l’arbitrage dynamique en fonction de ses principales caractéristiques.
La stratégie consiste à construire des signaux de plus-value en calculant l’indicateur de choc dynamique de Chande et en définissant des seuils supérieurs et inférieurs pour créer des opportunités d’arbitrage et réaliser des profits.
Le code commence par définir les paramètres Longueur, TopBand et LowBand, Longueur représentant le nombre de jours de calcul de la dynamique, TopBand et LowBand représentant les seuils de réglage.
On calcule ensuite le mouvement absolu xMom du jour le plus récent de Longitude, puis on calcule la moyenne mobile simple du jour de Longitude xSMA_mom.
On calcule ensuite le mouvement cumulé de Length par jour xMomLength。
On calcule ensuite l’indicateur d’oscillation de la dynamique nRes, qui est égal à xMomLength divisé par xSMA_mom multiplié par Length et magnifié 100 fois.
La direction de la polyvalence est déterminée par la relation entre la taille de nRes et la taille des seuils supérieurs et inférieurs.
Enfin, en fonction de l’activation ou non de la correction de la transaction inversée pos, un signal de transaction possig est généré, générant des entrées multichampions.
Il est possible de contrôler le risque en combinant des indicateurs techniques tels que la tendance et la volatilité pour déterminer la fiabilité des signaux de dynamique, en ajustant les paramètres pour réduire la fréquence des transactions et en assouplissant le point de rupture de manière appropriée.
Avant le déclenchement du signal de dynamique, il est possible de déterminer si le prix de clôture est au-dessus du système de ligne moyenne ou si la volatilité est dans la plage normale, afin d’éviter d’être induit en erreur.
Pour les variétés à forte volatilité, il est possible d’élargir de manière appropriée la plage de seuils normaux de volatilité pour réduire la fréquence des transactions.
Pendant la journée, il est possible d’utiliser des périodes plus courtes de longueur pour effectuer des transactions sur des lignes ultra courtes; ajustez les paramètres en fonction de la ligne de la semaine ou de la ligne de la lune, en mettant l’accent sur les tendances sur les lignes longues moyennes.
Lors du déclenchement d’un signal bullish, il est nécessaire d’ajouter des conditions de prix supérieures à la vallée de la vague précédente pour éviter un faux signal de renversement de tendance.
La stratégie est principalement utilisée pour identifier les opportunités de renversement de tendance à court terme grâce à des indicateurs dynamiques. La combinaison de paramètres de filtrage génère des signaux de négociation.
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 07/02/2017
// This indicator plots Chande Momentum Oscillator. This indicator was
// developed by Tushar Chande. A scientist, an inventor, and a respected
// trading system developer, Mr. Chande developed the CMO to capture what
// he calls "pure momentum". For more definitive information on the CMO and
// other indicators we recommend the book The New Technical Trader by Tushar
// Chande and Stanley Kroll.
// The CMO is closely related to, yet unique from, other momentum oriented
// indicators such as Relative Strength Index, Stochastic, Rate-of-Change,
// etc. It is most closely related to Welles Wilder`s RSI, yet it differs
// in several ways:
// - It uses data for both up days and down days in the numerator, thereby
// directly measuring momentum;
// - The calculations are applied on unsmoothed data. Therefore, short-term
// extreme movements in price are not hidden. Once calculated, smoothing
// can be applied to the CMO, if desired;
// - The scale is bounded between +100 and -100, thereby allowing you to
// clearly see changes in net momentum using the 0 level. The bounded scale
// also allows you to conveniently compare values across different securities.
////////////////////////////////////////////////////////////
strategy(title="CMO (Chande Momentum Oscillator)", shorttitle="CMO")
Length = input(9, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
// hline(0, color=gray, linestyle=dashed)
// hline(TopBand, color=red, linestyle=line)
// hline(LowBand, color=green, linestyle=line)
xMom = abs(close - close[1])
xSMA_mom = sma(xMom, Length)
xMomLength = close - close[Length]
nRes = 100 * (xMomLength / (xSMA_mom * Length))
pos = iff(nRes > TopBand, 1,
iff(nRes <= LowBand, -1, nz(pos[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)
barcolor(possig == -1 ? red: possig == 1 ? green : blue)
plot(nRes, color=blue, title="CMO")