
Chiến lược tròng tròn đóng là một chiến lược giao dịch định lượng dựa trên hình dạng K. Chiến lược này tìm kiếm tín hiệu mua và bán bằng cách xác định hình dạng tròng tròn đóng.
Nguyên tắc cốt lõi của chiến lược này là: đường K hiện tại là đường âm, đường K trước là đường dương, và giá thấp nhất của đường K hiện tại cao hơn giá thấp nhất của đường K trước, khi giá cao nhất của đường K hiện tại thấp hơn giá cao nhất của đường K trước, tạo ra hình dạng nếp chốt nếp chốt nếp chốt. Điều này có nghĩa là giá đã tạo thành một không gian tăng đóng cửa, cho thấy lực đa đầu sắp cạn kiệt, đây là tín hiệu bán. Ngược lại, khi hình thành nếp chốt nếp chốt nếp chốt, tạo ra tín hiệu mua.
Ở đây sử dụng giá trị trung bình của thực thể K-line làm đường dừng.
Những lợi thế của chiến lược “đóng cửa” bao gồm:
Một số rủi ro trong chiến lược “đóng cửa” này:
Để giảm thiểu những rủi ro này, bạn có thể xem xét thêm phán đoán điều kiện về số lượng giao dịch hoặc kết hợp với các chỉ số khác như đường trung bình di chuyển để đánh giá tổng hợp về xu hướng thị trường. Đường dừng lỗ cũng có thể được điều chỉnh động theo mức độ biến động của thị trường.
Các chiến lược “closed solar” cũng có thể được tối ưu hóa từ các khía cạnh sau:
Chiến lược đường nắng đóng là một chiến lược định lượng dựa trên hình dạng đường nắng K. Ưu điểm của chiến lược này là đơn giản, dễ hiểu, dễ thực hiện và có thể xác định một số tín hiệu mua bán hiệu quả. Tuy nhiên, cũng có một số hạn chế, chẳng hạn như dễ tạo ra tín hiệu sai, mù quáng mạnh mẽ. Những vấn đề này cũng cung cấp hướng tối ưu hóa cho chiến lược này.
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Noro's Harami Strategy v1.0", shorttitle = "Harami str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Body
body = abs(close - open)
abody = sma(body, 10)
//MinMax Bars
min = min(close, open)
max = max(close, open)
bar = close > open ? 1 : close < open ? -1 : 0
//Signals
up = bar == 1 and bar[1] == -1 and min > min[1] and max < max[1]
dn = bar == -1 and bar[1] == 1 and min > min[1] and max < max[1]
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and body > abody / 2
//Trading
if up
if strategy.position_size < 0
strategy.close_all()
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn
if strategy.position_size > 0
strategy.close_all()
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
strategy.close_all()