Ichimoku entre dans la stratégie

Auteur:ChaoZhang est là., Date: 2024-01-31 15h23 et 21h
Les étiquettes:

img

Résumé

Les entrées Ichimoku sont une stratégie quantitative qui identifie la direction de la tendance à l'aide de graphiques de nuage Ichimoku, et génère des signaux de trading en combinaison avec des bandes de Bollinger et des indicateurs RSI.

La logique de la stratégie

Le noyau de cette stratégie réside dans les deux lignes importantes du graphique des nuages Ichimoku - la ligne Tenkan et la ligne Kijun. La ligne Tenkan est la moyenne du plus haut et du plus bas des 9 derniers jours, représentant la tendance à court terme. La ligne Kijun est la moyenne du plus haut et du plus bas des 26 derniers jours, représentant la tendance à moyen et à long terme. Lorsque la ligne Tenkan traverse au-dessus de la ligne Kijun, elle indique une entrée à long. Lorsque la ligne Tenkan tombe en dessous de la ligne Kijun, elle indique une entrée à court.

En plus du nuage Ichimoku, la stratégie examine également les bandes de Bollinger et l'indicateur RSI pour générer des signaux de trading. Il est considéré comme un signe d'activité anormale des prix lorsque le prix de clôture franchit les bandes de Bollinger supérieures ou inférieures.

Sur la logique de sortie, la stratégie vérifie si la rupture des bandes de Bollinger est réussie et si l'oscillateur de proximité commerciale traverse l'axe 0, pour décider de verrouiller les bénéfices ou d'arrêter les pertes.

Analyse des avantages

Le plus grand avantage de cette stratégie est qu'elle combine la détermination de la tendance et les fluctuations anormales des prix pour déterminer la direction du commerce. Le nuage Ichimoku révèle clairement la tendance, tandis que les bandes de Bollinger capturent les anomalies. Le RSI filtre efficacement les fausses ruptures. L'utilisation de plusieurs indicateurs coordonnés rend les signaux de trading plus fiables. En outre, la logique stop loss et take profit aide à verrouiller les profits et à éviter d'énormes pertes.

Analyse des risques

Malgré le fait d'avoir l'avantage d'identifier les tendances et les anomalies, la stratégie présente encore certains risques. Parce qu'elle se négocie avec les tendances, de nombreux faux signaux peuvent apparaître sur les marchés variables. Des paramètres incorrects peuvent également détériorer les performances de la stratégie.

Directions d'optimisation

La stratégie peut être améliorée dans les domaines suivants:

  1. Testez différentes combinaisons de paramètres, comme la période Bollinger, la période RSI, etc.
  2. Introduire des modèles d'apprentissage automatique, des paramètres de sortie dynamique basés sur des données historiques.
  3. Incorporer le flux d'informations pour déterminer l'émotion du marché, éviter les mauvais mouvements aux moments critiques.
  4. Ajouter des méthodes de stop-loss conditionnelles, comme le trailing stop, pour préserver les bénéfices.

Conclusion

La stratégie des entrées Ichimoku est une stratégie de trading de tendance intégrée à plusieurs indicateurs. En jugeant à la fois la direction de la tendance et les anomalies des prix, elle capture le rythme du marché de manière assez fiable. Bien qu'il y ait place à l'amélioration, dans l'ensemble, il s'agit d'une stratégie avec des performances constantes et des risques contrôlables.


/*backtest
start: 2023-01-30 00:00:00
end: 2024-01-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ichi strategy", overlay=true)

// Input parameters
rsiLength = input(14, title="RSI Length")
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2, title="Bollinger Bands Multiplier")
stopLossPct = input(1, title="Stop Loss Percentage")
takeProfitPct = input(2, title="Take Profit Percentage")

// Calculate Ichimoku Cloud components
tenkan = ta.sma(high + low, 9) / 2
kijun = ta.sma(high + low, 26) / 2
senkouA = (tenkan + kijun) / 2
senkouB = ta.sma(high + low, 52) / 2

// Bollinger Bands
basis = ta.sma(close, bbLength)
upperBB = basis + bbMultiplier * ta.stdev(close, bbLength)
lowerBB = basis - bbMultiplier * ta.stdev(close, bbLength)

// RSI
rsiValue = ta.rsi(close, rsiLength)

// Trade Proximity Oscillator
length = input(14, title="Channels Length")
multiplier = input(2, title="Channels Multiplier")
atr_length = input(14, title="ATR Length")
threshold_percentage = input(1.5, title="Threshold Percentage (%)")

ma = ta.sma(close, length)
std_dev = ta.stdev(close, length)
upper_band = ma + multiplier * std_dev
lower_band = ma - multiplier * std_dev
distance_upper = close - upper_band
distance_lower = lower_band - close
atr_value = ta.atr(atr_length)
threshold = atr_value * threshold_percentage
oscillator = distance_upper - distance_lower

// Strategy logic
longCondition = close > upperBB and tenkan > kijun and ta.crossover(close, basis) and rsiValue < 70
shortCondition = close < lowerBB and tenkan < kijun and ta.crossunder(close, basis) and rsiValue > 30

strategy.entry("Long", strategy.long, when = longCondition)
strategy.entry("Short", strategy.short, when = shortCondition)

// Exit logic
longExitCondition = close < upperBB and ta.crossover(oscillator, 0)
shortExitCondition = close > lowerBB and ta.crossunder(oscillator, 0)

strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=close - close * stopLossPct / 100, profit=close + close * takeProfitPct / 100, when = longExitCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=close + close * stopLossPct / 100, profit=close - close * takeProfitPct / 100, when = shortExitCondition)

// Plotting
plot(senkouA, color=color.green, title="Senkou A")
plot(senkouB, color=color.red, title="Senkou B")
plot(upperBB, color=color.blue, title="Upper Bollinger Band")
plot(lowerBB, color=color.blue, title="Lower Bollinger Band")

// Additional Plots
plot(tenkan, color=color.orange, title="Tenkan")
plot(kijun, color=color.purple, title="Kijun")



Plus de