Kaedah pengesanan pintar pengimbasan titik rendah


Tarikh penciptaan: 2023-11-01 16:12:00 Akhirnya diubah suai: 2023-11-01 16:12:00
Salin: 2 Bilangan klik: 423
1
fokus pada
1226
Pengikut

Kaedah pengesanan pintar pengimbasan titik rendah

Gambaran keseluruhan

Penjelajah pintar pengimbas titik rendah adalah strategi perdagangan Forex yang tidak berbalik balik. Ia menggunakan pengimbas titik rendah untuk mencari titik terendah, dan menggabungkan Hull Moving Average untuk membuat keputusan isyarat perdagangan, yang dapat mencapai kadar kemenangan yang tinggi.

Analisis asas

Strategi ini mula-mula menggunakan pengimbas titik rendah untuk mencari titik terendah. Pengimbas titik rendah mengira nilai RSI dengan harga dan jumlah transaksi, kemudian membandingkannya dengan keluk WMA, untuk menentukan bahawa nilai RSI adalah titik terendah apabila lebih rendah daripada WMA.

Kemudian, strategi menggunakan Hull Moving Average untuk membuat keputusan isyarat perdagangan. Ia mengira Hull MA untuk dua tempoh yang berbeza, dengan Hull MA lebih tinggi pada tempoh pendek dan Hull MA lebih rendah pada tempoh panjang.

Akhirnya, strategi menggabungkan pengimbas titik terendah dan isyarat Hull MA, dan hanya apabila pengimbas titik terendah memberikan isyarat titik terendah, isyarat perdagangan Hull MA dikeluarkan, membentuk strategi masuk.

Dengan cara ini, dengan mengenal pasti titik terendah pasaran dan mengesan tren, anda dapat mengelakkan masa masuk yang salah dan meningkatkan peluang kemenangan sistem perdagangan.

Analisis kelebihan

Kelebihan utama dari pengesanan pintar titik rendah ialah:

  1. Menggunakan pengimbas titik rendah, anda dapat mengenal pasti titik terendah pasaran dengan tepat, dan mengelakkan pembelian di titik tinggi.

  2. Hull MA adalah satu indikator trend yang baik yang boleh digunakan untuk menangkap trend yang lebih besar.

  3. Gabungan antara pengimbas titik rendah dan pengesahan Hull MA dapat menyaring banyak bunyi dan mengurangkan isyarat palsu.

  4. Menggunakan mekanisme hentian kerugian beransur-ansur, anda boleh mengunci keuntungan maksimum dan mengelakkan pukulan balik.

  5. Strategi ini tidak didorong oleh indikator-indikator retroaktif, tidak memanipulasi data sejarah, dan boleh dipercayai.

Analisis risiko

Strategi ini mempunyai risiko utama:

  1. Pengimbas titik terendah mungkin terlepas beberapa titik terendah, menyebabkan peluang perdagangan yang terlewat. Parameter boleh disesuaikan dengan baik untuk memperluaskan ruang imbasan.

  2. Keadaan boleh berbalik dengan teruk, menyebabkan penutupan kerugian ditembusi. Anda boleh meluaskan julat penutupan kerugian dengan sewajarnya dan mengawal saiz kedudukan dengan wajar.

  3. Tetapan parameter yang tidak betul boleh menyebabkan terlalu banyak atau terlalu sedikit isyarat perdagangan. Perlu dioptimumkan berulang kali untuk mencari kombinasi parameter terbaik.

  4. Strategi ini hanya digunakan untuk varieti Forex yang jelas trend, dan tidak sesuai untuk perdagangan di pasaran yang stabil dan bergolak.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan:

  1. Mengoptimumkan parameter pengimbas titik rendah untuk mengenal pasti titik terendah dengan lebih tepat.

  2. Mengoptimumkan parameter Hull MA untuk mengesan trend dengan lebih tepat.

  3. Menambah penapis petunjuk lain, seperti MACD, KDJ dan lain-lain, meningkatkan kebolehpercayaan isyarat.

  4. Menambah hasil ramalan model pembelajaran mesin untuk membantu penilaian isyarat perdagangan.

  5. Memperbaiki mekanisme penangguhan kerugian supaya ia boleh disesuaikan secara dinamik mengikut tahap turun naik pasaran.

  6. Mengoptimumkan strategi pengurusan kedudukan supaya sistem dapat menyesuaikan kedudukan secara dinamik mengikut peraturan pengurusan dana.

ringkaskan

Skanan titik rendah adalah strategi perdagangan Forex yang tidak berulang dengan kadar kemenangan yang tinggi. Ia dapat mengenal pasti titik terendah pasaran dengan tepat, masuk dengan lancar apabila trend jelas, dan menggunakan penghentian kerugian bertahap untuk mengunci keuntungan.

Kod sumber strategi
/*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)