Kết hợp nhiều chỉ báo kỹ thuật


Ngày tạo: 2023-12-20 11:04:15 sửa đổi lần cuối: 2023-12-20 11:04:15
sao chép: 0 Số nhấp chuột: 662
1
tập trung vào
1621
Người theo dõi

Kết hợp nhiều chỉ báo kỹ thuật

Tổng quan

Chiến lược này sử dụng nhiều chỉ số kỹ thuật kết hợp với nhau, để thực hiện một chiến lược giao dịch ngắn toàn năng. Chiến lược này có nhiều phương thức giao dịch như theo dõi xu hướng, phá vỡ giao dịch và đảo ngược giao dịch, có thể phù hợp với hầu hết các môi trường thị trường, là một chiến lược ngắn phổ biến và thực tế.

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

  1. Chiến lược này bắt đầu bằng chỉ số kênh cơ thể nến, kết hợp các kênh giá cao nhất và thấp nhất để đánh giá chiều hướng và sức mạnh của xu hướng hiện tại.
  2. Thứ hai, sử dụng chỉ số đường trung bình EMA thông thường để xác định hướng xu hướng đường dài. Sử dụng kết hợp hai chỉ số EMA để lọc tín hiệu giả.
  3. Sau đó, chiến lược này sử dụng chỉ số Hull MA để xác định xem giá hiện tại có quá mua hay quá bán không. Chỉ số Hull MA có khả năng xác định chính xác hơn điểm biến đổi.
  4. Cuối cùng, chiến lược này sử dụng hàm security để mở chu kỳ cao hơn để xác định xu hướng của chu kỳ lớn và tạo ra tín hiệu giao dịch.

Kết hợp các chiến lược con trên, chiến lược này có thể nắm bắt xu hướng của chu kỳ trung gian và định hướng của xu hướng tổng thể dựa trên chu kỳ dài, để thực hiện chiến lược giao dịch tổng quát.

Phân tích lợi thế

Ưu điểm lớn nhất của chiến lược này là sử dụng nhiều chỉ số kỹ thuật để giao dịch kết hợp, có thể thực hiện nhiều phương thức giao dịch đồng thời như theo dõi xu hướng, giao dịch đảo ngược, giao dịch phá vỡ, rất phổ biến và phù hợp với hầu hết các môi trường thị trường.

Các lợi thế chính của chiến lược này là:

  1. Sử dụng chỉ số kênh cơ thể nến để đánh giá sự phá vỡ của thực thể, có thể xác định hiệu quả tín hiệu phá vỡ.
  2. Sử dụng bộ lọc kết hợp EMA kép để lọc tín hiệu giả, tăng độ chính xác tín hiệu.
  3. Sử dụng chỉ số Hull MA để đánh giá các khu vực quá mua quá bán, có khả năng đánh giá chính xác hơn các điểm biến.
  4. Sử dụng các đường K có chu kỳ cao hơn để tạo ra tín hiệu giá mở và tránh bị nhiễu.
  5. Sự kết hợp của nhiều phương thức giao dịch làm cho chiến lược này trở nên toàn diện và phổ biến hơn.

Phân tích rủi ro

Mặc dù chiến lược này kết hợp nhiều chỉ số, thực hiện chiến lược giao dịch phổ biến. Tuy nhiên, giao dịch có một số rủi ro, các điểm rủi ro chính như sau:

  1. Các giao dịch đột phá dễ bị lừa bởi các đột phá giả tạo và tạo ra tín hiệu sai.
  2. Giao dịch chuyển đổi ngược có thể gây tổn thất trong tình trạng chấn động.
  3. Khả năng lọc liên kết EMA đôi vẫn còn hạn chế và có thể loại bỏ tín hiệu bình thường.
    1. Chỉ số Hull MA vẫn chưa chính xác về sự phù hợp của đường cong.

Chúng ta có thể tối ưu hóa các rủi ro như sau:

  1. Sử dụng các chỉ số hỗ trợ phán đoán ổn định hơn để tránh phá vỡ giả.
  2. Tăng chiến lược dừng lỗ, kiểm soát tổn thất đơn lẻ
  3. Điều chỉnh tham số EMA kép để tìm sự kết hợp tốt nhất.
  4. Cố gắng tích hợp nhiều chỉ số hơn để đánh giá việc mua quá mức.

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

Theo phân tích trên, chiến lược này có thể được tối ưu hóa theo các hướng sau:

  1. Sử dụng kết hợp các chỉ số chính thống và ổn định hơn để hỗ trợ phán đoán, chẳng hạn như đường trung bình Cullman, dải Brin, v.v.
  2. Tăng chiến lược dừng lỗ, kiểm soát chặt chẽ tổn thất đơn lẻ.
  3. Tối ưu hóa tham số, tìm ra sự kết hợp tham số tốt nhất.
  4. Thêm mô hình học máy để đánh giá, sử dụng AI để đánh giá khu vực quá mua quá bán.
  5. Thêm logic phán đoán thích ứng, điều chỉnh chiến lược theo các động thái khác nhau của môi trường thị trường.

Tóm tắt

Chiến lược này sử dụng nhiều chỉ số để giao dịch kết hợp, thực hiện sự kết hợp hữu cơ của nhiều phương thức giao dịch theo xu hướng, phá vỡ giao dịch và đảo ngược giao dịch, là một chiến lược giao dịch ngắn gọn rất linh hoạt và phổ biến. Ưu điểm lớn nhất của chiến lược này là thích ứng rộng rãi, có thể được sử dụng trong hầu hết các môi trường thị trường, thuộc một loại tư duy chiến lược phổ biến. Tất nhiên, bất kể giao dịch có một số rủi ro, chúng ta có thể tối ưu hóa chiến lược từ việc giới thiệu các chỉ số ổn định hơn, tăng mức dừng lỗ, tối ưu hóa tham số, ứng dụng máy học và nhiều khía cạnh khác để hiệu quả của chiến lược này có thể được nâng cao hơn nữa.

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

//@version=2
//╭╮╱╱╭╮╭╮╱╱╭╮
//┃╰╮╭╯┃┃┃╱╱┃┃
//╰╮┃┃╭┻╯┣╮╭┫╰━┳╮╭┳━━╮
//╱┃╰╯┃╭╮┃┃┃┃╭╮┃┃┃┃━━┫
//╱╰╮╭┫╰╯┃╰╯┃╰╯┃╰╯┣━━┃
//╱╱╰╯╰━━┻━━┻━━┻━━┻━━╯
//╭━━━┳╮╱╱╱╱╱╱╱╭╮
//┃╭━╮┃┃╱╱╱╱╱╱╱┃┃
//┃┃╱╰┫╰━┳━━┳━╮╭━╮╭━━┫┃
//┃┃╱╭┫╭╮┃╭╮┃╭╮┫╭╮┫┃━┫┃
//┃╰━╯┃┃┃┃╭╮┃┃┃┃┃┃┃┃━┫╰╮
//╰━━━┻╯╰┻╯╰┻╯╰┻╯╰┻━━┻━╯
//━╯
// http://www.vdubus.co.uk/
strategy(title='Vdub FX SniperVX3 / Strategy  v3', shorttitle='Vdub_FX_SniperVX3_Strategy', overlay=true, pyramiding=0, initial_capital=1000, currency=currency.USD)

//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance Channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")

//-----------------Support and Resistance 
RST = input(title='Support / Resistance length:',  defval=10) 
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0)

//--------------------Trend colour ema------------------------------------------------// 
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0
plot_color = direction > 0  ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)

//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0
plot_color2 = direction2 > 0  ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)

//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")

//============ signal Generator ==================================//
Piriod=input('720')
ch1 = request.security(syminfo.tickerid, Piriod, open)
ch2 = request.security(syminfo.tickerid, Piriod, close)
longCondition = crossover(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (longCondition)
    strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, Piriod, close),request.security(syminfo.tickerid, Piriod, open))
if (shortCondition)
    strategy.entry("SELL", strategy.short)

///////////////////////////////////////////////////////////////////////////////////////////