Les ressources ont été chargées... Je charge...

La stratégie de Kairou

Auteur:ChaoZhang est là., Date: 2023-11-22 16:28:59 Je vous en prie.
Les étiquettes:

img

Résumé

La stratégie Kairou est une stratégie de trading quantitative intégrant plusieurs indicateurs techniques, notamment Ichimoku Cloud, MACD, Chaikin Money Flow (CMF) et True Strength Index (TSI).

La logique de la stratégie

L'idée de base de la stratégie Kairou est de combiner les signaux long/short d'Ichimoku Cloud, les indicateurs long/short MACD, les indicateurs de flux de capitaux CMF et l'indice de force TSI pour juger de la tendance du marché, des zones de surachat et de survente. Ichimoku Cloud peut clairement déterminer la direction de la tendance et le support/résistance clé; MACD reflète le contraste entre le pouvoir d'achat/de vente et le phénomène de surachat/survente; CMF juge les entrées et les sorties de capitaux; TSI montre le pouvoir d'achat et de vente réel du marché.

Plus précisément, la stratégie émet des jugements principalement sur la base des indicateurs suivants:

  1. La ligne Tenkan traverse au-dessus de la ligne Kijun dans le nuage Ichimoku indiquant un signal haussier
  2. Le Chikou Span franchit le seuil supérieur à 0, ce qui indique la confirmation d'un signal haussier.
  3. Histogramme MACD dépassant 0 montrant un renforcement du pouvoir d'achat
  4. Indicateur CMF > 0,1 indiquant les entrées de capitaux
  5. Indicateur de la STI > 0 indiquant un pouvoir d'achat supérieur à celui de vente

Lorsque les 5 conditions ci-dessus sont remplies en même temps, un signal long est généré; lorsque des conditions telles que le passage de la ligne Tenkan en dessous de la ligne Kijun sont inversées, un signal court est généré.

Cette stratégie combine les conditions longues et courtes de plusieurs indicateurs pour éviter le bruit causé par les jugements d'un seul indicateur. Dans le même temps, en utilisant Ichimoku Cloud pour déterminer les principales zones de soutien et de résistance et en combinant la direction de l'ombre de la portée en retard pour déterminer la direction du flux de capital réel, il est possible d'entrer à la dernière étape de la tendance et de sortir à des points clés avant, obtenant ainsi de plus grands bénéfices.

Analyse des avantages

Le plus grand avantage de la stratégie Kairou est qu'elle utilise de manière exhaustive de multiples indicateurs pour juger des phénomènes de surachat/survente sur le marché et déterminer avec précision les points d'achat et de vente.

  1. Amélioration de la précision du signal grâce à l'intégration de multiples indicateursUn seul indicateur est sujet à de faux signaux tandis que cette stratégie filtre efficacement le bruit et améliore la fiabilité du signal en intégrant Ichimoku Cloud, MACD, CMF, TSI et plus encore.

  2. Identifier les principaux supports et résistances avec Ichimoku CloudLa stratégie peut déployer des points longs et courts autour de ces zones pour entrer sur le marché à des stades ultérieurs de la tendance.

  3. Déterminer le flux de capitaux réel en utilisant la durée de retardLe délai d'attente montre une divergence pour détecter les faux mouvements des ordres d'arbitrage plutôt que des fonds réels.

  4. Affichage de surachat/survente avec MACDLe MACD affiche rapidement les conditions de surachat/survente.

  5. Affichage des flux de capitaux avec CMFL'indicateur CMF reflète les mouvements des grands acteurs à travers les variations de volume en évitant les signaux trompeurs des flux d'arbitrage.

  6. Afficher la force des forces d'achat/de vente avec la STIEn supprimant les magnitudes des mouvements de prix, TSI affiche avec précision la force réelle des forces d'achat/de vente pour repérer les sauts de bas et les baisses de haut.

Risques et optimisation

En dépit de ses avantages, la stratégie Kairou comporte également des risques qui méritent d'être notés.

  1. Optimisation des paramètresLes paramètres existants peuvent ne pas être optimaux. Des méthodes d'optimisation plus systématiques peuvent être utilisées pour trouver de meilleurs paramètres pour des bénéfices plus stables.

  2. Manque de mécanisme d'arrêt des pertes. Il n'existe actuellement aucun mécanisme d'arrêt des pertes. Des renversements significatifs du marché pourraient entraîner des pertes incontrôlées. Des pertes raisonnables de retard ou d'arrêt des commandes à limite doivent être mises en œuvre.

  3. Fréquence de négociation élevéeLes indicateurs intégrés multiples peuvent générer des fréquences de négociation excessivement élevées.

  4. Fluctuations des performancesLes interactions entre plusieurs indicateurs peuvent entraîner des fluctuations plus importantes des performances dans certaines conditions de marché.

  5. Risques de divergence des signauxSi les indicateurs montrent des signaux contradictoires, les décisions d'entrée deviennent difficiles.

Conclusion

La stratégie Kairou est une stratégie de trading quantitative multi-indicateur. Elle tire pleinement parti des atouts complémentaires de Ichimoku Cloud, MACD, CMF, TSI et plus encore pour déterminer de manière unique les délais d'entrée et de sortie. Il existe également une marge d'optimisation dans des aspects tels que les mécanismes de stop loss, le réglage des paramètres, l'allocation de poids, etc. pour améliorer considérablement la stabilité des opérations de stratégie.


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

//@version=4

strategy("Ichimoku with MACD/ CMF/ TSI ", overlay=true)

//Inputs
ts_bars = input(10, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(30, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input(26, minval=1, title="Chikou-Span Offset")
ss_offset = input(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

middle(len) => avg(lowest(len), highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)

// Plot Ichimoku Kinko Hyo
plot(tenkan, color=#0496ff, title="Tenkan-Sen")
plot(kijun, color=#991515, title="Kijun-Sen")
plot(close, offset=-cs_offset+1, color=#459915, title="Chikou-Span")
sa=plot(senkouA, offset=ss_offset-1, color=color.green, title="Senkou-Span A")
sb=plot(senkouB, offset=ss_offset-1, color=color.red, title="Senkou-Span B")
fill(sa, sb, color = senkouA > senkouB ? color.green : color.red, title="Cloud color")

ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
fast_length = input(title="Fast Length", type=input.integer, defval=12)
slow_length = input(title="Slow Length", type=input.integer, defval=26)
src = input(title="Source", type=input.source, defval=hl2)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=false)
// Plot colors
col_grow_above = #26A69A
col_grow_below = #FFCDD2
col_fall_above = #B2DFDB
col_fall_below = #EF5350
col_macd = #0094ff
col_signal = #ff6a00
// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low


//CMF
lengthA = input(10, minval=1, title="CMF Length")
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthA) / sum(volume, lengthA)


//TSI
long = input(title="Long Length", type=input.integer, defval=20)
short = input(title="Short Length", type=input.integer, defval=20)
price = close
double_smooth(src, long, short) =>
	fist_smooth = ema(src, long)
	ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)



bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0  and mf < -0.1 and tsi_value < 0



strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.entry("Short", strategy.short, when=bearish and short_entry)

strategy.close("Long", when=bearish and not short_entry)
strategy.close("Short", when=bullish and not long_entry)

Plus de