Phương pháp theo dõi thông minh quét điểm thấp


Ngày tạo: 2023-11-01 16:12:00 sửa đổi lần cuối: 2023-11-01 16:12:00
sao chép: 2 Số nhấp chuột: 392
1
tập trung vào
1166
Người theo dõi

Phương pháp theo dõi thông minh quét điểm thấp

Tổng quan

Phương pháp theo dõi thông minh quét điểm thấp là một chiến lược giao dịch ngoại hối không phản xạ. Nó sử dụng quét điểm thấp để tìm điểm thấp nhất và kết hợp với Hull Moving Average để phán đoán tín hiệu giao dịch, có thể đạt được tỷ lệ thắng cao.

Phân tích nguyên tắc

Chiến lược này đầu tiên sử dụng máy quét điểm thấp để tìm điểm thấp nhất. Máy quét điểm thấp sẽ tính toán giá và khối lượng giao dịch bằng giá trị RSI, sau đó so sánh với đường cong WMA của nó, để xác định RSI thấp hơn WMA là điểm thấp nhất.

Sau đó, chiến lược sử dụng trung bình di chuyển của Hull để phán đoán tín hiệu giao dịch. Nó tính toán Hull MA của hai chu kỳ khác nhau, làm nhiều khi Hull MA của chu kỳ ngắn đi trên Hull MA của chu kỳ dài và làm trống khi đi xuống.

Cuối cùng, chiến lược kết hợp các tín hiệu của quét điểm thấp nhất và Hull MA, chỉ khi quét điểm thấp nhất cho tín hiệu điểm thấp nhất, tín hiệu giao dịch của Hull MA được phát ra, tạo thành chiến lược nhập cảnh.

Bằng cách này, bằng cách xác định điểm thấp nhất của thị trường và theo dõi xu hướng, bạn có thể tránh được thời gian nhập nhầm và tăng tỷ lệ thắng của hệ thống giao dịch.

Phân tích lợi thế

Những ưu điểm của việc theo dõi thông minh bằng quét điểm thấp bao gồm:

  1. Sử dụng máy quét điểm thấp, bạn có thể xác định chính xác điểm thấp nhất của thị trường, tránh mua ở điểm cao gây ra cú sốc.

  2. Hull MA là một chỉ số theo dõi xu hướng tốt, có thể được sử dụng để nắm bắt các xu hướng lớn hơn.

  3. Kết hợp với quét điểm thấp và xác minh Hull MA, nó có thể lọc ra nhiều tiếng ồn và giảm tín hiệu giả.

  4. Sử dụng cơ chế dừng lỗ dần dần, bạn có thể khóa lợi nhuận tối đa và tránh bị vứt bỏ.

  5. Chiến lược này không dựa trên chỉ số phản hồi, không thao túng dữ liệu lịch sử, và là thực tế và đáng tin cậy.

Phân tích rủi ro

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

  1. Máy quét điểm thấp nhất có thể bỏ qua một số điểm thấp nhất, dẫn đến việc bỏ lỡ cơ hội giao dịch. Các tham số có thể được điều chỉnh thích hợp để mở rộng phạm vi quét.

  2. Có thể xảy ra một sự đảo ngược mạnh mẽ, gây ra việc dừng lỗ bị đánh. Bạn có thể nới lỏng phạm vi dừng lỗ một cách thích hợp và kiểm soát kích thước vị trí một cách hợp lý.

  3. Thiết lập tham số không đúng có thể dẫn đến quá nhiều hoặc quá ít tín hiệu giao dịch. Cần tối ưu hóa nhiều lần để tìm ra sự kết hợp tham số tối ưu.

  4. Chiến lược này chỉ áp dụng cho các biến thể Forex có xu hướng rõ ràng và không phù hợp để giao dịch trong thị trường hoàn toàn hoặc biến động.

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

Chiến lược này có thể được tối ưu hóa bằng cách:

  1. Tối ưu hóa các tham số của máy quét điểm thấp để nó có thể xác định chính xác hơn điểm thấp nhất.

  2. Tối ưu hóa các tham số của Hull MA để nó có thể theo dõi xu hướng chính xác hơn.

  3. Thêm các bộ lọc cho các chỉ số khác, như MACD, KDJ, để tăng độ tin cậy của tín hiệu.

  4. Thêm kết quả dự đoán mô hình học máy, hỗ trợ nhận định tín hiệu giao dịch.

  5. Tối ưu hóa cơ chế dừng lỗ, cho phép nó có thể được điều chỉnh động theo mức độ biến động của thị trường.

  6. Tối ưu hóa chiến lược quản lý vị trí để hệ thống có thể điều chỉnh vị trí theo các quy tắc quản lý tài chính.

Tóm tắt

Phương pháp theo dõi thông minh quét điểm thấp là một chiến lược giao dịch ngoại hối không phản hồi có tỷ lệ thắng cao. Nó có thể xác định chính xác điểm thấp nhất của thị trường, tham gia vào khi xu hướng rõ ràng và sử dụng lệnh dừng lỗ dần dần để khóa lợi nhuận. Chiến lược này có không gian tối ưu hóa lớn và có thể được cải thiện từ nhiều khía cạnh để trở thành một hệ thống giao dịch tự động mạnh mẽ.

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

// © theCrypster 2020

//@version=4
// strategy(title = "Low Scanner Forex strategy", overlay = false, pyramiding=1,initial_capital = 1000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0)
strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"])
strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all
strategy.risk.allow_entry_in(strat_dir_value)
leng=1
p1=close[1]
min=input(1440)
len55 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
//taken from https://www.tradingview.com/script/Ql1FjjfX-security-free-MTF-example-JD/
tf3 = input("W", type=input.resolution)
ti = change( time(tf3) ) != 0
T_c = fixnan( ti ? close : na )

vrsi = rsi(cum(change(T_c) * volume), leng)
pp=wma(vrsi,len55)

d=(vrsi[1]-pp[1])
min1 =input(60)
len100 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   min1 / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7
x=ema(d,len100)
//
zx=x/-1
col=zx > 0? color.lime : color.orange
plot(zx,color=col,linewidth=1)
//

tf10 = input("W", title = "Timeframe", type = input.resolution, options = ["1", "5", "15", "30", "60","120", "240","360","720", "D", "W"])

length = input(24, title = "Period", type = input.integer)
shift = input(1, title = "Shift", type = input.integer)

hma(_src, _length)=>
    wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
    
hma3(_src, _length)=>
    p = length/2
    wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)


a = security(syminfo.tickerid, tf10, hma(close, length))
b =security(syminfo.tickerid, tf10, hma3(close[1], length)[shift])
//plot(a,color=color.gray)
//plot(b,color=color.yellow)
close_price = close[0]
len = input(25)

linear_reg = linreg(close_price, len, 0)


//plot(linear_reg, color=color.blue, title="LR", linewidth=3)

buy=crossover(linear_reg, b) 
sell=crossunder(linear_reg, b) 
//
// Time period input
testStartYear = input(2016, "BACKTEST START YEAR", minval = 1980, maxval = 2222) 
testStartMonth = input(06, "BACKTEST START MONTH", minval = 1, maxval = 12)
testStartDay = input(01, "BACKTEST START DAY", minval = 1, maxval = 31)
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2222, "BACKTEST STOP YEAR", minval=1980, maxval = 2222)
testStopMonth = input(12, "BACKTEST STOP MONTH", minval=1, maxval=12)
testStopDay = input(31, "BACKTEST STOP DAY", minval=1, maxval=31)
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)
testPeriod = time >= testPeriodStart and time <= testPeriodStop ? true : false
l = crossover(zx,0) or buy
        
if l and testPeriod
    strategy.entry("buy", strategy.long)

per(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=25, minval=0.01)
los = per(stoploss)
q1=input(title=" qty_percent1", defval=25, minval=1)
q2=input(title=" qty_percent2", defval=25, minval=1)
q3=input(title=" qty_percent3", defval=25, minval=1)
tp1=input(title=" Take profit1", defval=0.5, minval=0.01)
tp2=input(title=" Take profit2", defval=1, minval=0.01)
tp3=input(title=" Take profit3", defval=1.5, minval=0.01)
tp4=input(title=" Take profit4", defval=2, minval=0.01)
strategy.exit("x1", qty_percent = q1, profit = per(tp1), loss = los)
strategy.exit("x2", qty_percent = q2, profit = per(tp2), loss = los)
strategy.exit("x3", qty_percent = q3, profit = per(tp3), loss = los)
strategy.exit("x4", profit = per(tp4), loss = los)