Stratégie de trading d'Ichimoku Kinko Hyo


Date de création: 2023-09-14 16:13:33 Dernière modification: 2023-09-14 16:13:33
Copier: 0 Nombre de clics: 706
1
Suivre
1617
Abonnés

Principe de stratégie

Cette stratégie utilise le tableau d’équilibre à première vue (Ichimoku Kinko Hyo) pour effectuer plusieurs transactions. Il prend en compte les multiples facteurs du tableau d’équilibre et effectue plusieurs transactions lorsqu’il est éligible.

La logique de l’opération est la suivante:

  1. Calculer la ligne de conversion, la ligne de référence, la ligne de pointe 1 et la ligne de pointe 2

  2. Considérez faire plus lorsque le prix de clôture est supérieur au nuage et que le nuage est en hausse et que la ligne de conversion est supérieure à la ligne de référence

  3. De plus, la ligne de décalage doit être au-dessus du nuage et du prix pour assurer une tendance à la hausse.

  4. Si les conditions ci-dessus sont remplies, faites une admission supplémentaire

  5. Si la ligne de décalage retombe au-dessous du prix ou au-dessous du nuage, la position est levée.

La stratégie utilise les multiples indicateurs de l’équilibre à première vue pour confirmer la tendance et contrôler efficacement le risque en utilisant le nuage comme point de rupture dynamique.

Avantages stratégiques

  • Le tableau d’équilibre à un coup d’œil analyse les tendances

  • La première étape consiste à arrêter les pertes et à maximiser les bénéfices.

  • Les règles sont simples, claires et faciles à appliquer

Risque stratégique

  • Le bilan est lent et risque de manquer une occasion

  • Il faut être prudent de définir des périodes de paramètres

  • Il y a des chances que vous passiez à côté d’une bonne opportunité de carrière si vous en faites trop.

Résumer

La stratégie utilise les caractéristiques multi-indicateurs du tableau d’équilibre à première vue pour déterminer la direction de la tendance. Sur la base des paramètres d’optimisation, elle fournit un ensemble de règles simples de multiplication. Cependant, il convient de noter son arriéré et ses limites de multiplication.

Code source de la stratégie
/*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)