Chiến lược giao dịch Ichimoku Kinko Hyo


Ngày tạo: 2023-09-14 16:13:33 sửa đổi lần cuối: 2023-09-14 16:13:33
sao chép: 0 Số nhấp chuột: 706
1
tập trung vào
1617
Người theo dõi

Nguyên tắc chiến lược

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:

  1. Tính toán đường chuyển đổi, đường chuẩn, đường dẫn 1 và đường dẫn 2

  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

  3. Ngoài ra, đường trục cao hơn đám mây và giá cả để đảm bảo xu hướng tăng

  4. Thêm vào khi tất cả các điều kiện trên được đáp ứng

  5. 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.

Lợi thế chiến lược

  • 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

Rủi ro chiến lược

  • 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

Tóm tắt

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 ý.

Mã nguồn chiến lược
/*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)