Chiến lược giao dịch kênh giá động


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

Tổng quan

Bài viết này sẽ giới thiệu một chiến lược giao dịch đường ngắn dựa trên kênh giá động. Chiến lược này đánh giá xu hướng bằng cách tính toán kênh động của giá và giao dịch tại điểm phá vỡ kênh.

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

Chiến lược này dựa trên các nguyên tắc sau:

  1. Sử dụng giá cao nhất và giá thấp nhất để tính toán kênh giá động. Đường trên kênh là một nửa tổng giá cao nhất và đường trung bình của kênh, đường dưới là một nửa chênh lệch giữa giá thấp nhất và đường trung bình của kênh.

  2. Khi giá phá vỡ đường đua, cho thấy thị trường đi vào xu hướng tăng; khi giá phá vỡ đường đua, cho thấy thị trường đi vào xu hướng giảm.

  3. Trong xu hướng tăng, khi xuất hiện hai đường dương liên tiếp, hãy làm nhiều; trong xu hướng giảm, khi xuất hiện hai đường dương liên tiếp, hãy làm trống.

  4. Bạn có thể chọn để mở vị trí ngược, tức là làm giảm trong khi tăng và làm nhiều hơn trong khi giảm, để theo dõi cảm xúc của thị trường.

  5. Có thể đặt tỷ lệ dừng, ví dụ như đặt điểm dừng là x% giá nhập để khóa lợi nhuận.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Các kênh năng động có thể phản ánh sự thay đổi của thị trường trong thời gian thực và đánh giá xu hướng tốt hơn.

  2. Kết hợp các tín hiệu phá vỡ của xu hướng và một số đường K, có thể lọc các phá vỡ giả.

  3. Các nhà đầu tư khác cũng có thể tham gia vào các hoạt động này để kiếm thêm lợi nhuận.

  4. Thiết lập tỷ lệ ngăn chặn có thể kiểm soát rủi ro hiệu quả.

  5. Chiến lược của tôi rất đơn giản, rõ ràng và dễ thực hiện.

Phân tích rủi ro

Chiến lược này cũng có những rủi ro:

  1. Các kênh có thể bị hỏng khi thị trường biến động mạnh. Các tham số nên được điều chỉnh thích hợp để các kênh ổn định hơn.

  2. Tỷ lệ thua lỗ của các nhà đầu tư nên được kiểm soát.

  3. Các đột phá giả có thể dẫn đến giao dịch sai. Sự hiệu quả của đột phá nên được kết hợp với xu hướng.

  4. Cần chú ý tránh giao dịch quá thường xuyên để kiểm soát chi phí giao dịch.

Tóm tắt

Chiến lược này kết hợp các xu hướng phán đoán kênh động, K-line breakout entry và stop-loss thinking. Nếu điều chỉnh tham số phù hợp, nó có thể là một công cụ hiệu quả để giao dịch ngắn hạn. Tuy nhiên, thương nhân vẫn cần chú ý đến kiểm soát rủi ro và sửa đổi phù hợp với phong cách giao dịch của mình.

Mã nguồn chiến lược
/*backtest
start: 2022-09-09 00:00:00
end: 2023-09-15 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=2
strategy("Noro's Bands Scalper Strategy v1.1", shorttitle = "Scalper str 1.1", 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")
takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %")
needct = input(false, defval = false, title = "Counter-trend entry")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
needbb = input(true, defval = true, title = "Show Bands")
needbg = input(true, defval = true, title = "Show Background")
src = close

//PriceChannel
lasthigh = highest(src, len)
lastlow = lowest(src, len)
center = (lasthigh + lastlow) / 2

//Distance
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma
hd2 = center + distsma * 2
ld2 = center - distsma * 2

//Trend
sma = sma(close, 20)
smatrend = close > sma ? 1 : close < sma ? -1 : smatrend[1]
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up7 = trend == 1 and bar == -1 and bar[1] == -1 ? 1 : 0
dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0
up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0
dn8 = trend == -1 and bar == 1 and bar[1] == 1 ? 1 : 0

if up7 == 1 or up8 == 1
    strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na)

if dn7 == 1 or dn8 == 1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)