Chiến lược theo dõi hai màu K-line

Tác giả:ChaoZhang, Ngày: 2023-10-11 14:53:41
Tags:

Tóm lại

Chiến lược này quan sát sự thay đổi màu sắc của đường K để xác định xu hướng thị trường và thiết lập các vị trí dài và ngắn phù hợp.

Nguyên tắc

Chiến lược đánh giá màu sắc của các đường K dựa trên mối quan hệ giữa giá đóng và giá mở. Giá đóng lớn hơn giá mở là một đường K màu đỏ, và ngược lại là một đường K màu xanh lá cây.

Khi có các đường K liên tiếp được chỉ định có cùng màu sắc (có thể điều chỉnh), thực hiện các hành động phù hợp:

  • Nếu màu đỏ, đi dài.

  • Nếu màu xanh lá cây, đi ngắn.

Khi màu của đường K thay đổi, đóng tất cả các vị trí.

Ưu điểm

  • Nguyên tắc là rõ ràng và đơn giản, dễ hiểu và thực hiện.

  • Có thể theo dõi xu hướng tương đối ngắn hạn và giao dịch thường xuyên.

  • Số lượng K-line có thể tùy chỉnh để điều chỉnh độ nhạy của chiến lược.

  • Có thể đi dài hoặc ngắn chỉ để giảm tần suất giao dịch.

  • Khung thời gian giao dịch có thể được thiết lập để tránh các khoảng thời gian nhất định.

Rủi ro

  • Không thể xác định hướng xu hướng, có nguy cơ bị chém.

  • Không thể xác định thời gian nhập cảnh tối ưu, rủi ro nhập cảnh sớm hoặc cơ hội bị bỏ lỡ.

  • Nguy cơ đảo ngược khi thay đổi màu sắc không nhất thiết đại diện cho những thay đổi xu hướng thực sự.

  • Theo đuổi ngắn hạn có thể dẫn đến áp lực giao dịch và hoa hồng quá mức.

  • Cài đặt tham số không phù hợp có thể dẫn đến hiệu suất chiến lược kém.

Tối ưu hóa

  • Xem xét thêm các chỉ số đánh giá xu hướng để tránh nhập ngược, ví dụ: MACD, KD.

  • Thiết lập stop loss để giảm rủi ro mất mát.

  • Nới lỏng các tiêu chí ra khỏi một cách thích hợp để tránh ra khỏi quá thường xuyên.

  • Kết hợp các yếu tố khác để tối ưu hóa thời gian nhập cảnh, ví dụ: tăng khối lượng, phá vỡ mức cao trước đó.

  • Sử dụng lệnh thị trường để giảm tác động trượt.

Kết luận

Chiến lược này bắt nguồn từ phân tích kỹ thuật K-line đơn giản nhất, đạt được theo dõi xu hướng cơ bản bằng cách đánh giá màu sắc K-line. Những lợi thế là sự đơn giản, tần suất giao dịch cao và điều chỉnh tham số linh hoạt. Nhưng nó cũng có một số mù lòa, không thể xác định chất lượng của xu hướng. Nó có thể được cải thiện bằng cách thêm các chỉ số đánh giá xu hướng trong khi giữ nó đơn giản, do đó tăng hiệu suất chiến lược.


/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//2018
//Noro

//@version=2
strategy("Noro's Candles Strategy v1.0", shorttitle = "Candles str 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
bq = input(2, defval = 2, minval = 2, maxval = 6, title = "Bars Q")

fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2018, defval = 2018, 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")

//Bars Q
bar = close > open ? 1 : close < open ? -1 : 0
gb = bar == 1
rb = bar == -1
redbars = bq == 2 and rb and rb[1] ? 1 : bq == 3 and rb and rb[1] and rb[2] ? 1 : bq == 4 and rb and rb[1] and rb[2] and rb[3] ? 1 : bq == 5 and rb[1] and rb[2] and rb[3] and rb[4] ? 1 : bq == 6 and rb[1] and rb[2] and rb[3] and rb[4] and rb[5] ? 1 : 0
greenbars = bq == 2 and gb and gb[1] ? 1 : bq == 3 and gb and gb[1] and gb[2] ? 1 : bq == 4 and gb and gb[1] and gb[2] and gb[3] ? 1 : bq == 5 and gb[1] and gb[2] and gb[3] and gb[4] ? 1 : bq == 6 and gb[1] and gb[2] and gb[3] and gb[4] and gb[5] ? 1 : 0

//Signals
up1 = redbars == 1
dn1 = greenbars == 1
exit = bar != bar[1]

if up1
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

if dn1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
    
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()

Thêm nữa