Chiến lược theo xu hướng dựa trên sự phân kỳ giá


Ngày tạo: 2024-01-22 11:51:28 sửa đổi lần cuối: 2024-01-22 11:51:28
sao chép: 0 Số nhấp chuột: 635
1
tập trung vào
1617
Người theo dõi

Chiến lược theo xu hướng dựa trên sự phân kỳ giá

Tổng quan

Chiến lược này dựa trên các chỉ số lệch giá kết hợp với vùng Fibonacci để nhận diện và theo dõi xu hướng. Khi giá lệch ra xa hơn và xa hơn một hướng, nó có thể được coi là xu hướng và tạo ra tín hiệu giao dịch.

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

Chiến lược này sử dụng VWAP làm trục trung tâm của giá. Sau đó, dựa trên sự biến động trong giá, tính toán các đường lệch giá lên và xuống lần lượt là 1.618 lần và 2.618 lần chênh lệch tiêu chuẩn.

Tín hiệu EXIT dừng lỗ sau khi thực hiện thêm lỗ hổng là: đường dừng lỗ nhiều là đường ray xuống, đường dừng lỗ là đường ray lên.

Một số bước cụ thể là:

  1. Tính VWAP như trục trung tâm của giá

  2. Tính lệch chuẩn (SD) của giá được tính như một chỉ số đo lường sự biến động của giá

  3. Tính theo sd trên và dưới đường ray: đường ray trên là VWAP + 1.618*sd và VWAP + 2.618*sd; đường ray dưới là VWAP - 1.618*sd và VWAP - 2.618*sd

  4. Khi giá từ dưới lên phá vỡ 1.618 lần xuống đường, tạo ra tín hiệu nhiều; khi giá từ trên xuống phá vỡ 1.618 lần lên đường, tạo ra tín hiệu hẹp

  5. Đặt nhiều lỗ EXIT: Giá phá vỡ 2.618 lần xuống đường; Đặt lỗ EXIT: Giá phá vỡ 2.618 lần lên đường

Phân tích lợi thế

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

  1. Sử dụng chỉ số lệch giá để đánh giá hiệu quả xu hướng giá và theo dõi xu hướng

  2. Kết hợp với vùng quay trở lại của Fibonacci, để entrada vào và dừng lỗ thoát ra rõ ràng hơn

  3. VWAP là trục trung tâm của giá cả, cũng nâng giá trị tham chiếu của chỉ số

  4. Điều chỉnh thông qua các tham số, có thể thích ứng với các giống và chu kỳ khác nhau

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Có thể sẽ có tổn thất lớn hơn nếu xu hướng thay đổi.

  2. Thiết lập tham số không đúng cũng ảnh hưởng đến hiệu quả của chính sách

  3. Rủi ro dừng lỗ lớn hơn khi giá biến động mạnh

Phản ứng:

  1. Giảm thời gian nắm giữ một cách thích hợp và dừng lỗ kịp thời

  2. Tối ưu hóa tham số, tìm kiếm sự kết hợp tham số tốt nhất

  3. Tăng cường quản lý vị trí, kiểm soát lỗ đơn

Hướng tối ưu hóa

Chiến lược này cũng có thể được tối ưu hóa theo các hướng sau:

  1. Kết hợp các chỉ số xu hướng để tránh giao dịch ngược

  2. Tham gia cơ chế quản lý vị trí

  3. Cài đặt tham số tối ưu hóa

  4. Tối ưu hóa phản hồi trên nhiều chu kỳ thời gian

Tóm tắt

Chiến lược này dựa trên tư tưởng lệch giá, kết hợp với VWAP và Fibonacci tiêu chuẩn khu vực chênh lệch gấp đôi, để xác định và theo dõi xu hướng. so với chỉ số đơn lẻ như đường trung bình, phán đoán của chiến lược này rõ ràng hơn và kiểm soát rủi ro rõ ràng hơn. Bằng cách điều chỉnh và tối ưu hóa các tham số, chiến lược có thể áp dụng cho các giống và chu kỳ khác nhau, do đó có hiệu quả chiến lược tốt hơn.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Mysteriown

//@version=4
strategy(title="VWAP + Fibo Dev Extensions Strategy", overlay=true, pyramiding=5, commission_value=0.08)

// -------------------------------------
// ------- Inputs Fibos Values ---------
// -------------------------------------

fib1 = input(title="Fibo extension 1", type=input.float, defval=1.618)
fib2 = input(title="Fibo extension 2", type=input.float, defval=2.618)
reso = input(title="Resolution VWAP", type=input.resolution, defval="W")
dev = input(title="Deviation value min.", type=input.integer, defval=150)


// -------------------------------------
// -------- VWAP Calculations ----------
// -------------------------------------

t = time(reso)
debut = na(t[1]) or t > t[1]

addsource = hlc3 * volume
addvol = volume
addsource := debut ? addsource : addsource + addsource[1]
addvol := debut ? addvol : addvol + addvol[1]
VWAP = addsource / addvol

sn = 0.0
sn := debut ? sn : sn[1] + volume * (hlc3 - VWAP[1]) * (hlc3 - VWAP)
sd = sqrt(sn / addvol)

Fibp2 = VWAP + fib2 * sd
Fibp1 = VWAP + fib1 * sd
Fibm1 = VWAP - fib1 * sd
Fibm2 = VWAP - fib2 * sd


// -------------------------------------
// -------------- Plots ----------------
// -------------------------------------

plot(VWAP, title="VWAP", color=color.orange)
pFibp2 = plot(Fibp2, color=color.red)
pFibp1 = plot(Fibp1, color=color.red)
pFibm1 = plot(Fibm1, color=color.lime)
pFibm2 = plot(Fibm2, color=color.lime)

fill(pFibp2,pFibp1, color.red)
fill(pFibm2,pFibm1, color.lime)


// -------------------------------------
// ------------ Positions --------------
// -------------------------------------

bull = crossunder(low[1],Fibm1[1]) and low[1]>=Fibm2[1] and low>Fibm2 and low<Fibm1 and sd>dev
bear = crossover(high[1],Fibp1[1]) and high[1]<=Fibp2[1] and high<Fibp2 and high>Fibp1 and sd>dev

//plotshape(bear, title='Bear', style=shape.triangledown, location=location.abovebar, color=color.red, offset=0)
//plotshape(bull, title='Bull', style=shape.triangleup, location=location.belowbar, color=color.green, offset=0)


// -------------------------------------
// --------- Strategy Orders -----------
// -------------------------------------

strategy.entry("Long", true, when = bull)
strategy.close("Long", when = crossover(high,VWAP) or crossunder(low,Fibm2))

strategy.entry("Short", false, when = bear)
strategy.close("Short", when = crossunder(low,VWAP) or crossover(high,Fibp2))