Cette stratégie utilise la ligne de conversion, la ligne de base et les limites des nuages de l'indicateur Ichimoku Kinko Hyo pour identifier la direction de la tendance et mettre en œuvre des transactions de suivi de tendance.
La stratégie utilise principalement les lignes d'indicateur Ichimoku suivantes:
Il va long lorsque le prix dépasse le nuage et court lorsque le prix dépasse le nuage. Les raisons d'entrée et de sortie sont déclenchées lorsque le prix dépasse respectivement le sommet et le bas du nuage. Les sorties sont déclenchées lorsque les ratios de profit ou de perte sont atteints.
Cette stratégie utilise le nuage Ichimoku pour identifier les tendances et mettre en œuvre un suivi de tendance simple. Malgré un certain retard et de faux signaux, l'optimisation des paramètres, des arrêts et l'utilisation d'autres indicateurs peuvent l'améliorer. Facile à comprendre et à mettre en œuvre, il est bon pour les débutants d'apprendre et de se référer lors du développement d'autres stratégies. Des tests et des optimisations continus amélioreront les paramètres et les règles pour une meilleure performance en direct.
/*backtest start: 2023-10-04 00:00:00 end: 2023-10-08 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Estratégia com Ichimoku" , pyramiding=0, calc_on_every_tick = true, initial_capital = 20000, commission_type = strategy.commission.cash_per_order, commission_value = 10.00) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////Ichimoku Clouds//////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////(VERSÃO 40.0)////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// periodoLinhaDeConversao = input(defval=9, title="Tenkan-sen (Linha de Conversão)", minval=1) periodoLinhaBase = input(defval=26, title="Kijun-sen (Linha Base)", minval=1) periodoNivelAdiantadoB = input(defval=52, title="Senkou Span B (Nível adiantado B)", minval=1) deslocamento = input(defval=26, title="Deslocamento", minval=1) linhaDeConversao = (highest(high,periodoLinhaDeConversao)+lowest(low,periodoLinhaDeConversao))/2 linhaBase = (highest(high,periodoLinhaBase)+lowest(low,periodoLinhaBase))/2 nivelAdiantadoA = (linhaDeConversao + linhaBase)/2 nivelAdiantadoB = (highest(high,periodoNivelAdiantadoB)+lowest(low,periodoNivelAdiantadoB))/2 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// strategy.initial_capital = 50000 //Hardcoded quantity - strategy.entry(qty=) capitalInicial = strategy.initial_capital lotes = (strategy.initial_capital - (strategy.initial_capital % (open*100)))/open //Percentage input goal - strategy.exit(profit=) percentGoal = input (defval = 5.0, title = "Goal (%)", type = float, minval=0.0, step=0.1) longGoal = (strategy.position_avg_price * (percentGoal/100)) * 100 shortGoal = (strategy.position_avg_price - (strategy.position_avg_price / (1+(percentGoal/100)))) * 100 //Percentage input stop - strategy.exit(loss=) percentStop = input (defval = 0.5, title = "Stop (%)", type = float, minval=0.0, step=0.1) longStop = (strategy.position_avg_price * (percentStop/100)) * 100 shortStop = (strategy.position_avg_price * (percentStop/100)) * 100 strategy.entry('entryLong', strategy.long, lotes, when = strategy.position_size == 0 and crossover(close,max(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento]))) strategy.entry('entryShort', strategy.short, lotes, when = strategy.position_size == 0 and crossunder(close,min(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento]))) strategy.exit('exitLong', 'entryLong', profit = longGoal, loss = longStop) strategy.exit('exitShort', 'entryShort', profit = shortGoal, loss = shortStop) plot(strategy.equity, title="Variação de capital", color=white) //plot(strategy.position_size, color=red)