Chiến lược này sử dụng đường chuyển đổi, đường cơ sở trong chỉ số Ichimoku Kinko Hyo và đường phía trước và phía sau của đám mây đường để xác định hướng xu hướng của giá và thực hiện giao dịch theo dõi xu hướng. Khi giá vượt qua đỉnh đám mây, hãy làm nhiều, khi phá vỡ đáy đám mây, hãy làm trống, đạt đến mức dừng tỷ lệ lợi nhuận dự kiến, đạt đến mức dừng tỷ lệ thua lỗ dự kiến.
Chiến lược này chủ yếu sử dụng các đường chỉ số Ichimoku sau:
Khi giá lên vượt qua đám mây tuyến trước, hãy làm nhiều hơn; Khi giá xuống vượt qua đám mây tuyến trước, hãy làm trống. ConfigEntry và ExitReason mở lệnh khi phá vỡ đám mây đỉnh và đáy, tương ứng, và đóng lệnh khi đạt tỷ lệ lợi nhuận.
Chiến lược này sử dụng Ichimoku Cloud để nhận diện xu hướng và theo dõi xu hướng một cách đơn giản và hiệu quả. Mặc dù có một số rủi ro về sự chậm trễ và tín hiệu sai, nhưng có thể được cải thiện bằng cách tối ưu hóa tham số, cải thiện kỹ thuật dừng lỗ, kết hợp với các chỉ số khác. Chiến lược này dễ hiểu và thực hiện, phù hợp cho người mới bắt đầu học, cũng có thể được sử dụng làm tham khảo cho các chiến lược khác.
/*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)