Chiến lược này sử dụng bảng cân bằng một mắt (Ichimoku Kinko Hyo) để thực hiện nhiều giao dịch. Nó xem xét tổng hợp nhiều yếu tố của bảng cân bằng và thực hiện nhiều giao dịch khi đủ điều kiện.
Các giao dịch được thực hiện theo các logic sau:
Tính toán đường chuyển đổi, đường chuẩn, đường dẫn 1 và đường dẫn 2
Khi giá đóng cửa cao hơn đám mây và đám mây lên, đường chuyển đổi cao hơn đường chuẩn, hãy xem xét làm nhiều hơn
Ngoài ra, đường trục cao hơn đám mây và giá cả để đảm bảo xu hướng tăng
Thêm vào khi tất cả các điều kiện trên được đáp ứng
Nếu dòng trì hoãn trở lại dưới giá hoặc dưới tầng mây, lệnh thanh toán sẽ được thực hiện.
Chiến lược này tận dụng nhiều chỉ số trên bảng cân bằng để xác nhận xu hướng và kiểm soát rủi ro hiệu quả bằng cách sử dụng đám mây làm điểm dừng động.
Xu hướng đánh giá cân bằng tổng hợp nhiều yếu tố
Động thái dừng lỗ, tối đa hóa lợi nhuận
Quy tắc đơn giản, rõ ràng và dễ thực hiện
Có thể bị mất cơ hội
Cần cẩn thận đặt chu kỳ tham số
Chỉ làm nhiều hơn, bạn có thể bỏ lỡ cơ hội làm việc
Chiến lược này sử dụng tính năng đa chỉ số của bảng cân bằng để xác định hướng xu hướng. Dựa trên các tham số tối ưu hóa, nó cung cấp một bộ quy tắc đa dạng đơn giản. Tuy nhiên, sự chậm trễ và hạn chế của việc chỉ làm nhiều vẫn cần lưu ý.
/*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)