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

Stratégie de trading de Ichimoku

Auteur:ChaoZhang est là., Date: le 14 septembre 2023
Les étiquettes:

La logique de la stratégie

Cette stratégie LONG-ONLY utilise le système Ichimoku Kinko Hyo pour les transactions. Il combine plusieurs facteurs Ichimoku pour aller long lorsque les critères sont remplis.

La logique de négociation est la suivante:

  1. Calculer la conversion, la ligne de base, les travées principales 1 et 2

  2. Considérez long lorsque la fermeture est au-dessus du nuage et que le nuage monte, avec conversion au-dessus de la ligne de base

  3. En outre, la portée de retard doit être au-dessus du nuage et le prix pour la confirmation de la tendance haussière

  4. Lorsque tous les critères sont remplis, allez long

  5. Si la durée de retard tombe en dessous du prix ou du nuage, fermer long

La stratégie utilise les indicateurs d'Ichimoku pour confirmer la tendance, avec le nuage comme arrêts dynamiques pour le contrôle des risques.

Les avantages

  • Ichimoku synthétise plusieurs facteurs pour la détermination de la tendance

  • Arrêt dynamique pour maximiser le verrouillage des bénéfices

  • Des règles simples et claires pour une mise en œuvre facile

Les risques

  • Ichimoku est lent et peut manquer des opportunités.

  • Une optimisation minutieuse des périodes de rétrospective est nécessaire

  • C'est juste que de bonnes occasions ont été ratées.

Résumé

Cette stratégie tire parti de la synthèse des indicateurs d'Ichimoku pour définir la direction de la tendance.


/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Ichimoku Cloud", shorttitle="Doubled Ichimoku", overlay=true, initial_capital=1000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)
conversionPeriods = input(20, minval=1, title="Conversion Line Length")
basePeriods = input(60, minval=1, title="Base Line Length")
laggingSpan2Periods = input(120, minval=1, title="Leading Span B Length")
displacement = input(30, minval=1, title="Displacement")
Stoploss = input(1, minval=0.1, title="Stoploss (% below cloud)") 
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")
plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span")

p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

bool TKcross = conversionLine > baseLine
bool aboveCloud = close > leadLine1 and close > leadLine2
bool greenCloud = leadLine1 > leadLine2
bool lagLong = close > leadLine1[2*displacement+1] and close > leadLine2[2*displacement+1] and close > close[displacement]
bool longCondition = false
bool close_trade = crossover(leadLine1[displacement], close) or crossover (leadLine2[displacement], close) or close < close[displacement] or crossover(baseLine, close)
var position_count = 0 

if (TKcross and aboveCloud and greenCloud and lagLong and position_count==0)
    position_count = 1
    strategy.entry(id="buy", long=true)

if (close_trade)
    strategy.close_all()
   // strategy.entry(id="sell", long=false)
    position_count = 0

    
//if (longCondition)
   
//    strategy.close("long", when=exit_trade)
//    strategy.exit("exit","long",stop=stop_level,limit=profit_level)

Plus de