Chiến lược này sử dụng đường chuyển đổi, đường cơ sở và ranh giới đám mây từ chỉ số Ichimoku Kinko Hyo để xác định hướng xu hướng và thực hiện các giao dịch theo dõi xu hướng. Nó đi dài khi giá phá vỡ trên đỉnh đám mây và đi ngắn khi giá phá vỡ dưới đáy đám mây. Lợi nhuận được thực hiện khi tỷ lệ lợi nhuận được đặt trước đạt được. Mất mát được cắt giảm khi tỷ lệ lỗ được đặt trước đạt được.
Chiến lược chủ yếu sử dụng các đường chỉ số Ichimoku sau:
Nó đi dài khi giá phá vỡ trên đám mây và đi ngắn khi giá phá vỡ dưới đám mây. Lý do vào và ra được kích hoạt khi giá phá vỡ đám mây trên và dưới tương ứng. Việc ra được kích hoạt khi tỷ lệ lợi nhuận hoặc lỗ đạt được.
Chiến lược này sử dụng đám mây Ichimoku để xác định xu hướng và thực hiện theo dõi xu hướng đơn giản. Mặc dù có một số sự chậm trễ và tín hiệu sai, việc tối ưu hóa các thông số, dừng và sử dụng các chỉ số khác có thể cải thiện nó. Dễ hiểu và thực hiện, nó tốt cho người mới bắt đầu học hỏi và tham khảo khi phát triển các chiến lược khác. Kiểm tra và tối ưu hóa liên tục sẽ cải thiện các thông số và quy tắc cho hiệu suất trực tiếp tốt hơn.
/*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)