Chiến lược LONG-ONLY này sử dụng hệ thống Ichimoku Kinko Hyo cho các giao dịch. Nó kết hợp nhiều yếu tố Ichimoku để đi dài khi các tiêu chí được đáp ứng.
Logic giao dịch là:
Tính toán chuyển đổi, đường cơ sở, dải dẫn đầu 1 & 2
Xem xét dài khi gần là trên đám mây và đám mây đang tăng, với chuyển đổi trên đường cơ sở
Ngoài ra, khoảng thời gian tụt hậu phải ở trên đám mây và giá để xác nhận xu hướng tăng
Khi tất cả các tiêu chí được đáp ứng, đi dài
Nếu khoảng thời gian chậm giảm xuống dưới giá hoặc mây, đóng dài
Chiến lược sử dụng các chỉ số của Ichimoku
Ichimoku tổng hợp nhiều yếu tố để xác định xu hướng
Dừng động để tối đa hóa khóa lợi nhuận
Các quy tắc đơn giản và rõ ràng để thực hiện dễ dàng
Ichimoku chậm và có thể bỏ lỡ cơ hội.
Cần tối ưu hóa cẩn thận các khoảng thời gian xem lại
Chỉ có một thời gian dài, nên những cơ hội ngắn ngủi đã bị bỏ lỡ.
Chiến lược này tận dụng tổng hợp các chỉ số của Ichimoku để xác định hướng xu hướng. Với các thông số tối ưu, nó cung cấp một hệ thống chỉ dài đơn giản.
/*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)