
L’indice de sélection de marchandises (CSI) est une stratégie de négociation en ligne courte qui suit la dynamique du marché. Elle permet d’identifier les marchandises à forte dynamique en calculant la tendance et la volatilité des marchandises.
L’indicateur central de la stratégie est l’indice CSI, qui prend en compte la tendance et la volatilité des marchandises.
CSI = K × ATR × (n est la moyenne journalière de l’ADX + l’ADX) /2)
K est le coefficient d’agrandissement, ATR représente l’amplitude de fluctuation réelle moyenne, qui mesure la volatilité du marché. ADX représente l’indice de direction moyenne, qui reflète la tendance du marché.
En calculant l’indice CSI de chaque produit et en le comparant à sa moyenne mobile simple de n jours, un signal d’achat est généré lorsque le CSI est supérieur à sa moyenne mobile et un signal de vente lorsque le CSI est inférieur à sa moyenne mobile.
La stratégie consiste à choisir des produits qui ont un indice CSI élevé. Ces produits ont une forte tendance et une forte volatilité, ce qui leur permet d’obtenir un plus grand potentiel de profit à court terme.
Cette stratégie présente les avantages suivants:
Cette stratégie comporte aussi des risques:
Pour contrôler les risques, il est judicieux de définir des positions stop-loss, de contrôler la taille des positions individuelles et d’ajuster les paramètres de manière appropriée pour s’adapter aux différentes conditions du marché.
Cette stratégie peut être optimisée dans les domaines suivants:
La stratégie d’indice de sélection de commodité dynamique permet une négociation simple et rapide en ligne courte en capturant les commodités à forte tendance et à forte volatilité sur le marché. Cette méthode de suivi spécifique de la dynamique rend son signal clair et facile à automatiser. Bien sûr, il faut également faire attention à la maîtrise des risques et à l’amélioration continue de la mise à niveau pour s’adapter aux changements de l’environnement du marché.
/*backtest
start: 2023-10-28 00:00:00
end: 2023-11-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 20/03/2019
// The Commodity Selection Index ("CSI") is a momentum indicator. It was
// developed by Welles Wilder and is presented in his book New Concepts in
// Technical Trading Systems. The name of the index reflects its primary purpose.
// That is, to help select commodities suitable for short-term trading.
// A high CSI rating indicates that the commodity has strong trending and volatility
// characteristics. The trending characteristics are brought out by the Directional
// Movement factor in the calculation--the volatility characteristic by the Average
// True Range factor.
// Wilder's approach is to trade commodities with high CSI values (relative to other
// commodities). Because these commodities are highly volatile, they have the potential
// to make the "most money in the shortest period of time." High CSI values imply
// trending characteristics which make it easier to trade the security.
// The Commodity Selection Index is designed for short-term traders who can handle
// the risks associated with highly volatile markets.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
fADX(Len) =>
up = change(high)
down = -change(low)
trur = rma(tr, Len)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
sum = plus + minus
100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)
strategy(title="Commodity Selection Index Backtest", shorttitle="CSI Backtest")
PointValue = input(50)
Margin = input(3000)
Commission = input(10)
Length = input(14)
reverse = input(false, title="Trade reverse")
K = 100 * ((PointValue / sqrt(Margin) / (150 + Commission)))
xATR = atr(Length)
xADX = fADX(Length)
nADXR = (xADX + xADX[Length]) * 0.5
xCSI = K * xATR * nADXR
xMACSI = sma(xCSI, Length)
pos = 0.0
pos := iff(xCSI < xMACSI, 1,
iff(xCSI > xMACSI, -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(xCSI, color=green, title="CSI")
plot(xMACSI, color=red, title="CSI SMA")