Kết hợp đường trung bình động chồng đôi Sự giống và khác nhau của Stochastic Chiến lược giao dịch K-line


Ngày tạo: 2023-10-27 17:00:04 sửa đổi lần cuối: 2023-10-27 17:00:04
sao chép: 3 Số nhấp chuột: 615
1
tập trung vào
1617
Người theo dõi

Kết hợp đường trung bình động chồng đôi Sự giống và khác nhau của Stochastic Chiến lược giao dịch K-line

Tổng quan

Chiến lược này sử dụng kết hợp các chỉ số trung bình và Stochastic để xác định cơ hội đảo ngược xu hướng, để thực hiện giao dịch ngắn hiệu quả. Chiến lược chọn tháo lỗ khi giá đi vào khu vực mua quá mức; Chiến lược chọn tháo lỗ khi giá đi vào khu vực bán quá mức để nắm bắt sự đảo ngược xu hướng đường ngắn.

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

Chiến lược này chủ yếu dựa trên việc sử dụng kết hợp của các chỉ số đúp trung bình và Stochastic.

Đường trung bình xếp chồng đôi bao gồm các đường trung bình di chuyển nhanh, đường trung bình di chuyển chậm và đường trung bình di chuyển siêu chậm. Khi đi qua đường trung bình di chuyển chậm trên đường trung bình di chuyển nhanh, nó được coi là tín hiệu mua; khi đi qua đường trung bình di chuyển chậm dưới đường trung bình di chuyển nhanh, nó được coi là tín hiệu bán.

Chỉ số Stochastic bao gồm giá trị K và giá trị D, giá trị K cho thấy vị trí của giá cao nhất và giá thấp nhất hiện tại trong N ngày so với giá đóng cửa, giá trị D là trung bình di chuyển đơn giản trong M ngày của giá trị K. Khi giá trị K và giá trị D trên 80 là vùng mua quá mức và dưới 20 là vùng bán quá mức. Chỉ số Stochastic có thể xác định vùng mua quá mức ngắn hạn.

Chiến lược này sử dụng kết hợp giữa đường trung bình và Stochastic để xem liệu đường trung bình có phù hợp với tín hiệu đường trung bình khi đường trung bình của đường trung bình cho thấy một khu vực mua hoặc bán quá mức, và nếu có, chọn điểm này để giao dịch đảo ngược với hy vọng nắm bắt bước ngoặt của xu hướng đường ngắn.

Phân tích lợi thế

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

  1. Cấu trúc này sử dụng đường trung bình và đường Stochastic được xếp chồng lên nhau để xác định các điểm thay đổi xu hướng của đường trung và đường ngắn.

  2. Sử dụng Stochastic để chọn các cơ hội giao dịch đảo ngược trung bình chồng lên nhau hiệu quả hơn.

  3. Các quy tắc chiến lược giao dịch rõ ràng và dễ thực hiện.

  4. Thời gian giao dịch và tham số tháng có thể điều chỉnh để phù hợp với các giống và khoảng thời gian khác nhau.

  5. Thiết lập Stop Loss để kiểm soát rủi ro.

Phân tích rủi ro

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

  1. Đường trung bình chồng lên đôi có thể tạo ra đột phá giả, chỉ số Stochastic cũng có thể có hình dạng đường K asynchronous không hiệu quả, dẫn đến lỗi tín hiệu giao dịch. Các tham số có thể được điều chỉnh thích hợp, hoặc thêm các chỉ số khác để kiểm tra kết hợp.

  2. Chỉ dựa trên chỉ số kỹ thuật, không xem xét các yếu tố cơ bản, dễ bị thất bại khi xảy ra sự kiện kinh tế lớn. Có thể tham gia kiểm soát rủi ro sự kiện kinh tế.

  3. Khó có thể nắm bắt được thời điểm chính xác khi đường trung bình di chuyển bị đảo ngược, có thể có vấn đề về việc dừng lỗ quá nhỏ hoặc quá lớn.

  4. Thiết lập tham số không đúng cách có thể dẫn đến tần số giao dịch quá cao hoặc hiệu quả tín hiệu kém. Các thử nghiệm tối ưu hóa tham số nên được thực hiện cho các giống và chu kỳ khác nhau.

  5. Chỉ phù hợp với giao dịch ngắn hạn, không phù hợp với nắm giữ dài hạn.

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

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

  1. Kiểm tra kết hợp các chỉ số khác nhau như KDJ, MACD, để tăng hiệu quả của tín hiệu.

  2. Tham gia phân tích chỉ số khối lượng giao dịch để tránh phá vỡ giả mạo.

  3. Tối ưu hóa tham số trung bình kép để xác định thời điểm đảo ngược chính xác hơn.

  4. Tối ưu hóa chiến lược dừng lỗ để giảm khả năng kích hoạt dừng lỗ.

  5. Thêm mô-đun kiểm soát rủi ro sự kiện kinh tế để tránh ảnh hưởng của sự kiện lớn đến giao dịch.

  6. Sử dụng công nghệ học máy để tự động tối ưu hóa các tham số, nâng cao khả năng thích ứng của các tham số.

  7. Thử nghiệm lại trong nhiều giống và chu kỳ để tìm hướng ứng dụng tốt nhất.

Tóm tắt

Chiến lược này được thực hiện với mục đích giao dịch tại điểm đảo ngược xu hướng đường ngắn trung bình thông qua việc sử dụng kết hợp giữa đường trung bình và đường K khác biệt Stochastic. Chiến lược này có thể giúp tăng lợi nhuận của các giao dịch, và các quy tắc chiến lược rõ ràng và dễ sử dụng hơn so với việc sử dụng một chỉ số đơn lẻ.

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

//@version=3
strategy(title="Intraday Stochiastic Strategy", shorttitle="Intraday Stochiastic Strategy", overlay=true, initial_capital = 1000)
//WORKS FOR BTCUSD M30
//OBVERVED GOOD PERFORMANCES FOR SELL MODE M15 : US30USD / UK100GBP / JP225USD / SPX500USD / BCOUSD / EURGBP
//Best Forex Hours are 7-21
//0 is Long Position
//1 is Short Position
//2 No position
mode=input(1, maxval=2, title="Mode")
lossLimit=input(10000, maxval=10000, title="Loss Limit")
hourStart=input(2, maxval=24, title="Hour Start")
hourStop=input(13, maxval=24, title="Hour Stop")

//Month selected for back testing. 0 is maximum number of months
monthSelected = input(0, maxval=12, title="Month Selected")

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

fast = 20, slow = 50, ultraSlow = 200
fastMA = sma(close, fast)
slowMA = sma(close, slow)
ultraSlowMA = sma(close, ultraSlow)

colorFast = red
colorSlow = black
colorUltraSlowMA = purple

if(timeframe.period == "1" or timeframe.period == "3" or timeframe.period == "5" or timeframe.period == "15" or timeframe.period == "30" or timeframe.period == "45" or timeframe.period == "60" or timeframe.period == "120" or timeframe.period == "180" or timeframe.period == "240")
    fastMA := ema(close, fast)
    slowMA := ema(close, slow)
    ultraSlowMA := ema(close, ultraSlow)
    colorFast := orange
    colorSlow := gray
    colorUltraSlowMA := blue

p1 = plot(fastMA, color=colorFast)
p2 = plot(slowMA, color=colorSlow, linewidth=2)  
p3 = plot(ultraSlowMA, color=colorUltraSlowMA, linewidth=3)

fill(p1, p2, color = fastMA > slowMA ? green : red)

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

ema150 = 200
ema150MA = ema(close, ema150)

smooth = input(3, minval=1), K = input(14, minval=1), D=input(3,minval=1)
hh=highest(high,K)
ll=lowest(low,K)
k = sma((close-ll)/(hh-ll)*100, smooth)
d = sma(k, 3)
//plot(k, color=blue)
//plot(d, color=red)
//h0 = hline(80)
//h1 = hline(20)
//fill(h0, h1, color=purple, transp=95)


//plot(hour*100, color=red, linewidth=2)

stochiasticHigh = 80
stochiasticLow = 20

data = close < ema150MA and k>stochiasticHigh and d>stochiasticHigh and close>open
plotshape(data, style=shape.triangledown, location=location.belowbar, color=red)

data2 = close > ema150MA and k<stochiasticLow and d<stochiasticLow and close<open
plotshape(data2, style=shape.triangleup, location=location.abovebar, color=green)

isData = 0
isData := isData[1]

    
if(isData == 0)
    if(data)
        if(mode==1 and hour>hourStart and hour<hourStop and (monthSelected==0 or month==monthSelected)) //DOW hours : 2-13
            strategy.entry("SCALP SHORT", strategy.short)  
            isData := 1
else
    if(k<stochiasticLow and d<stochiasticLow)
        if(mode==1)
            strategy.close_all(when = true)
        isData := 0
        
isData2 = 0
isData2 := isData2[1]
    
if(isData2 == 0)
    if(data2)
        if(mode==0 and hour>hourStart and hour<hourStop and (monthSelected==0 or month==monthSelected))
            strategy.entry("SCALP LONG", strategy.long)  
            isData2 := 1
else
    if(k>stochiasticHigh and d>stochiasticHigh)
        if(mode==0)
            strategy.close_all(when = true)
        isData2 := 0

strategy.exit("STOP LOSS", "SCALP LONG", loss=lossLimit)
strategy.exit("STOP LOSS", "SCALP SHORT", loss=lossLimit)