Chiến lược bắn tỉa toàn cầu

Tác giả:ChaoZhang, Ngày: 2023-12-20 11:04:15
Tags:

img

Tổng quan

Chiến lược này áp dụng sự kết hợp của nhiều chỉ số kỹ thuật để thực hiện một chiến lược giao dịch ngắn hạn linh hoạt. Nó có theo dõi xu hướng, giao dịch đột phá, giao dịch đảo ngược trung bình và các phương pháp giao dịch khác, có thể thích nghi với hầu hết các môi trường thị trường. Nó thuộc về một chiến lược ngắn hạn rất phổ biến và thực tế.

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

  1. Chiến lược đầu tiên sử dụng chỉ số kênh thân nến, kết hợp với kênh giá cao nhất và thấp nhất, để xác định hướng và sức mạnh xu hướng hiện tại.

  2. Sau đó, nó sử dụng chỉ số EMA chung để xác định hướng xu hướng trung hạn và dài hạn.

  3. Tiếp theo, chiến lược sử dụng chỉ số Hull MA để xác định xem giá hiện tại có bị mua quá mức hay bán quá mức không.

  4. Cuối cùng, chiến lược sử dụng chức năng bảo mật để mở chu kỳ cao hơn để xác định hướng của xu hướng chu kỳ lớn và tạo ra các tín hiệu giao dịch.

Sự kết hợp của nhiều chiến lược phụ cho phép chiến lược nắm bắt các xu hướng chu kỳ trung gian trong khi đánh giá hướng xu hướng tổng thể dựa trên các chu kỳ dài, do đó thực hiện một chiến lược giao dịch phổ quát linh hoạt.

Phân tích lợi thế

Ưu điểm lớn nhất của chiến lược này là nó kết hợp nhiều chỉ số kỹ thuật cho giao dịch danh mục đầu tư, có thể đồng thời thực hiện theo dõi xu hướng, giao dịch đảo ngược trung bình, giao dịch đột phá và các phương pháp giao dịch khác, rất linh hoạt và thích nghi với hầu hết các môi trường thị trường.

Cụ thể, những lợi thế chính của chiến lược này là:

  1. Sử dụng chỉ số kênh thân nến để xác định sự đột phá của thực thể có thể xác định hiệu quả các tín hiệu đột phá.

  2. Sử dụng các combo EMA kép để lọc các tín hiệu sai cải thiện độ chính xác tín hiệu.

  3. Sử dụng chỉ số Hull MA để xác định các khu vực mua quá mức và bán quá mức có khả năng xác định chính xác hơn các điểm chuyển đổi.

  4. Việc áp dụng sự chéo chéo của giá mở và đóng của các đường K chu kỳ cao hơn để tạo ra tín hiệu có thể tránh bị đánh lừa bởi tiếng ồn.

  5. Sự kết hợp của nhiều phương pháp giao dịch làm cho chiến lược linh hoạt và phổ biến hơn.

Phân tích rủi ro

Mặc dù chiến lược kết hợp nhiều chỉ số để đạt được một chiến lược giao dịch linh hoạt, vẫn có một số rủi ro trong giao dịch, chủ yếu là:

  1. Giao dịch breakout dễ bị đánh lừa bởi các breakout sai và tạo ra các tín hiệu sai.

  2. Giao dịch đảo ngược trung bình có xu hướng gây ra tổn thất trên các thị trường giới hạn phạm vi.

  3. Khả năng lọc của sự kết hợp EMA kép vẫn còn hạn chế, có thể lọc ra các tín hiệu bình thường.

  4. Chỉ số MA Hull vẫn thiếu độ chính xác trong đường cong phù hợp.

Để đáp ứng các rủi ro trên, tối ưu hóa có thể được thực hiện trong các khía cạnh sau:

  1. Sử dụng các chỉ số ổn định hơn để hỗ trợ đánh giá và tránh các sự đột phá sai.

  2. Tăng các chiến lược dừng lỗ để kiểm soát lỗ đơn.

  3. Điều chỉnh các thông số EMA kép để tìm sự kết hợp tối ưu.

  4. Cố gắng tích hợp nhiều chỉ số hơn để xác định các điều kiện mua quá mức và bán quá mức.

Hướng dẫn tối ưu hóa

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

  1. Sử dụng các kết hợp chỉ số chính thống và ổn định hơn như phán đoán phụ, chẳng hạn như đường Kalman, Bollinger Band, v.v.

  2. Tăng các chiến lược dừng lỗ để kiểm soát chặt chẽ lỗ đơn.

  3. Tối ưu hóa tham số để tìm kết hợp tham số tối ưu.

  4. Tăng khả năng đánh giá mô hình học máy để sử dụng AI để xác định các khu vực mua quá mức và bán quá mức.

  5. Tăng khả năng đánh giá logic thích nghi để điều chỉnh năng động các phương pháp chiến lược dựa trên các môi trường thị trường khác nhau.

Tóm lại

Chiến lược này kết hợp nhiều chỉ số cho giao dịch danh mục đầu tư, đạt được sự tích hợp hữu cơ của nhiều phương pháp giao dịch như theo dõi xu hướng, giao dịch đột phá và giao dịch đảo ngược trung bình. Đây là một chiến lược giao dịch ngắn hạ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à khả năng áp dụng rộng rãi cho hầu hết các môi trường thị trường. Nó thuộc về một ý tưởng chiến lược phổ quát hơn. Tất nhiên, vẫn có một số rủi ro trong giao dịch. 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 stop loss, tối ưu hóa tham số, áp dụng máy học và nhiều khía cạnh khác để cải thiện hơn nữa hiệu suất của chiến lược. Nói chung, đây là một chiến lược giao dịch ngắn hạn phổ quát rất có giá trị để tham khảo và học hỏi.


/*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)

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

Thêm nữa