Phân tích kiên nhẫn chiến lược dải trung bình động ba có chứa thông tin có giá trị trong K-line


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

Phân tích kiên nhẫn chiến lược dải trung bình động ba có chứa thông tin có giá trị trong K-line

Tổng quan

Chiến lược ba dòng trung bình sử dụng nhiều chỉ số trung bình di chuyển để khai thác các quy luật ẩn trong biến động giá bằng cách phân tích sâu về đường K để thực hiện giao dịch rủi ro thấp.

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

Chiến lược này dựa trên đường Brin, chồng lên nhiều nhóm chỉ số EMA, xây dựng kênh giá và tìm ra quy luật biến động giá. Cụ thể:

  1. Sử dụng chỉ số BodyResistanceChannel để vẽ điểm kháng của thực thể K-line.
  2. Sử dụng chỉ số hỗ trợ / kháng cự để vẽ các vị trí hỗ trợ và kháng cự nhiều ngày.
  3. Sử dụng hệ thống EMA kép để xác định xu hướng giá.
  4. Sử dụng chỉ số đường trung bình Hull để làm phẳng đường cong giá.

Trên cơ sở đó, kết hợp với nhận dạng hình thức, đánh giá cơ hội đảo ngược, xây dựng chiến lược giao dịch đà.

Phân tích lợi thế

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

  1. Sử dụng nhiều nhóm EMA để xây dựng kênh giá, có thể xác định rõ hướng biến động giá.
  2. Sử dụng chỉ số đường trung bình của Hull có thể đánh giá hiệu quả giá phá vỡ.
  3. Kết hợp với hình thức đảo ngược và chỉ số kênh, để thực hiện giao dịch rủi ro thấp có xác suất cao.
  4. Xây dựng hệ thống chỉ số đa tầng, tín hiệu giao dịch ổn định và đáng tin cậy.

Phân tích rủi ro

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

  1. Nguy cơ phá vỡ kênh giá dẫn đến tổn thất lớn. Giải pháp phù hợp là sử dụng dừng di động để giảm tổn thất đơn lẻ.
  2. Rủi ro của sai lệch định hình đảo ngược dẫn đến tín hiệu sai. Giải pháp cụ thể là tối ưu hóa tham số để tăng độ chính xác định hình.
  3. Nguy cơ không phù hợp của các tham số chỉ số dẫn đến giảm chất lượng tín hiệu giao dịch. Giải pháp cụ thể là kiểm tra tối ưu hóa tham số đa kết hợp.

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

Chiến lược này có thể được tối ưu hóa như sau:

  1. Tối ưu hóa các tham số EMA theo chu kỳ để chỉ số phù hợp hơn với đặc điểm thị trường.
  2. Điều chỉnh vị trí dừng lỗ để giảm thiểu tối đa rủi ro lỗ đơn trong khi đảm bảo lợi nhuận.
  3. Thêm mô-đun điều chỉnh vị thế động dựa trên biến động, kiểm soát rủi ro hiệu quả.
  4. Sử dụng công nghệ học sâu để khai thác nhiều quy luật giá hơn và cải thiện chất lượng tín hiệu.

Tóm tắt

Chiến lược băng tần ba dòng đồng đều đào sâu vào quy luật biến động giá, ổn định và hiệu quả, đáng để áp dụng và tối ưu hóa liên tục trong thời gian dài. Đầu tư cần phải có lý trí và kiên nhẫn, làm theo từng bước là con đường dẫn đến chiến thắng.

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

//@version=3
//╭╮╱╱╭╮╭╮╱╱╭╮
//┃╰╮╭╯┃┃┃╱╱┃┃
//╰╮┃┃╭┻╯┣╮╭┫╰━┳╮╭┳━━╮
//╱┃╰╯┃╭╮┃┃┃┃╭╮┃┃┃┃━━┫
//╱╰╮╭┫╰╯┃╰╯┃╰╯┃╰╯┣━━┃
//╱╱╰╯╰━━┻━━┻━━┻━━┻━━╯
//╭━━━┳╮╱╱╱╱╱╱╱╭╮
//┃╭━╮┃┃╱╱╱╱╱╱╱┃┃
//┃┃╱╰┫╰━┳━━┳━╮╭━╮╭━━┫┃
//┃┃╱╭┫╭╮┃╭╮┃╭╮┫╭╮┫┃━┫┃
//┃╰━╯┃┃┃┃╭╮┃┃┃┃┃┃┃┃━┫╰╮
//╰━━━┻╯╰┻╯╰┻╯╰┻╯╰┻━━┻━╯
//━╯
// 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)

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