Chiến lược theo xu hướng dựa trên các kênh sóng và chỉ báo dòng tiền


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

Chiến lược theo xu hướng dựa trên các kênh sóng và chỉ báo dòng tiền

Tổng quan

Chiến lược này sử dụng chỉ số kênh sóng kết hợp với chỉ số dòng tiền để xác định hướng xu hướng và theo dõi xu hướng. Chiến lược này hoạt động trong chu kỳ 15 phút, xác định hướng xu hướng giá thông qua kênh sóng, sau đó sử dụng chỉ số dòng tiền để xác nhận xu hướng và theo dõi xu hướng vượt quá đường ngắn.

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

Chỉ số WaveTrend có thể xác định hiệu quả hướng xu hướng của giá. Nó bao gồm đường trung bình, giá trung bình và chỉ số kênh. Đường trung bình là chỉ số chuyển động trung bình của giá, phản ánh xu hướng giá; giá trung bình kênh là trung bình chuyển động của đường trung bình kênh, được sử dụng để định vị đường trung bình kênh; Chỉ số kênh phản ánh mức độ lệch của giá so với đường trung bình kênh và cung cấp tín hiệu mua quá mức.

Chỉ số dòng tiền (CMF) có thể đánh giá dòng chảy và dòng chảy của tiền, xác nhận xu hướng. Chỉ số này dựa trên dòng tích lũy / phân phối sau khi điều chỉnh khối lượng giao dịch, phản ánh sự tương phản giữa sức mạnh của cả hai bên mua và bán. Giá trị gần 0 cho thấy sự cân bằng của dòng chảy và dòng chảy của tiền; thấp hơn 0 cho thấy dòng chảy của tiền, cao hơn 0 cho thấy dòng chảy của tiền.

Chiến lược này hoạt động theo chu kỳ 15 phút, xác định hướng xu hướng giá thông qua chỉ số kênh sóng, sau đó sử dụng chỉ số dòng tiền để xác nhận và theo dõi xu hướng. Cụ thể, nếu chỉ số kênh kênh chỉ số kênh sóng thấp hơn 60 và chỉ số dòng tiền nhỏ hơn -0.2, hãy làm nhiều; Nếu chỉ số kênh chỉ số kênh chỉ số kênh sóng cao hơn 60 và chỉ số dòng tiền lớn hơn 0.2, hãy làm trương vị vuông.

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

  1. Chỉ số kênh sóng có thể xác định hiệu quả xu hướng giá
  2. Chỉ số dòng tiền xác nhận xu hướng, tránh giao dịch sai
  3. Kết hợp các kênh sóng và các chỉ số dòng tiền, có thể theo dõi xu hướng siêu ngắn
  4. Chu kỳ hoạt động 15 phút, thích hợp hơn cho hoạt động ngắn

Rủi ro chiến lược

  1. Chỉ số kênh sóng có thể tạo ra tín hiệu sai trong quá trình tổng hợp
  2. Chỉ số dòng tiền có thể bị tụt hậu, bỏ lỡ điểm chuyển hướng
  3. Chu kỳ duy nhất hoạt động có rủi ro cao, nên được mở rộng chu kỳ giữ vị thế thích hợp
  4. Thiếu chiến lược dừng lỗ, không thể kiểm soát tổn thất đơn lẻ

Phương pháp giải quyết rủi ro:

  1. Xác nhận kết hợp với các chỉ số khác để tránh tín hiệu sai
  2. Điều chỉnh các tham số của chỉ số dòng tiền để tăng độ nhạy
  3. Có thể kéo dài thời gian giữ vị thế một cách thích hợp để giảm rủi ro một chu kỳ
  4. Tăng các chiến lược như dừng di chuyển, dừng chuyển vị trí, kiểm soát tổn thất

Hướng tối ưu hóa chiến lược

  1. Tăng số vị trí tối ưu hóa để chiến lược có thể theo dõi xu hướng tốt hơn
  2. Tăng chiến lược dừng lỗ, kiểm soát tổn thất đơn lẻ
  3. Kết hợp với chỉ số stoch đa không gian, v.v., để tránh tín hiệu sai do chỉ số đơn lẻ
  4. Kiểm tra thời gian giữ vị trí khác nhau để tìm chu kỳ giữ vị trí tối ưu
  5. Tối ưu hóa các tham số của chỉ số dòng tiền để tìm ra sự kết hợp tốt nhất

Tóm tắt

Chiến lược này sử dụng chỉ số kênh sóng để xác định hướng xu hướng, và chỉ số dòng tiền để xác nhận, thực hiện hoạt động theo dõi xu hướng vượt qua đường ngắn. Ưu điểm của chiến lược là danh mục chỉ số hợp lý, có thể theo dõi xu hướng một cách hiệu quả, và chu kỳ 15 phút hoạt động thích hợp hơn cho hoạt động đường ngắn. Nhưng cũng có rủi ro, chẳng hạn như tín hiệu chỉ số không chính xác, thời gian giữ vị trí quá ngắn, v.v.

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

//@version=3
strategy(title = "CMF - WaveTrend", shorttitle = "CMF - WaveTrend", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR)

//Chaikin Money Flow

len = input(20, minval=1, title="Length")
mas = input(title="Aggregation", defval="SUM", options=["SUM", "EMA", "WMA"])
e = input(10.0, title="Volume Exponent (0-10 reduces & 10+ increases volume effect)")
p = input(false, title="Show in Percentage")
mvs = input(false, "Factor in Price (Money Volume)")
src=input(hlc3, title="Source for price factor")

trl = min(low,close[1]), trh = max(high,close[1]) // 'true range' fixes issues caused by gaps in price
wv = pow(volume,e/10.0)*(mvs ? src : 1)
ad = (trh==trl ? 0 : (2*close-(trh+trl))/tr(true))*wv
cmf = mas=="SUM" ? sum(ad, len)/sum(wv, len) : mas=="EMA" ? ema(ad, len)/ema(wv, len) : mas=="WMA" ? wma(ad, len)/wma(wv, len) : na
cmf_p  = if p
    50*cmf+50
else
    cmf
b = p ? 50 : 0


//WaveTrend
n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
obLevel1 = input(60, "Over Bought Level 1")
obLevel2 = input(53, "Over Bought Level 2")
osLevel1 = input(-60, "Over Sold Level 1")
osLevel2 = input(-53, "Over Sold Level 2")
 
ap = hlc3 
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
 
wt1 = tci
wt2 = sma(wt1,4)
// 


longCondition = wt1 < -60 and cmf < - 0.20
if (longCondition)
 
    strategy.entry("My Long Entry Id", strategy.long)
    
 
shortCondition = wt1 > 60 and cmf > 0.20
if (shortCondition)
 
    strategy.entry("My Short Entry Id", strategy.short)
    
closeLongCondition = cmf_p > 0.18 ? true : false
closeShortCondition = cmf_p < -0.18 ? true : false
    
    
strategy.close("My Long Entry Id", when=(closeLongCondition == true))
strategy.close("My Short Entry Id", when=(closeShortCondition == true))