Strategi perdagangan kuantitatif jangka pendek berdasarkan pelbagai penunjuk


Tarikh penciptaan: 2023-09-14 19:46:55 Akhirnya diubah suai: 2023-09-14 19:46:55
Salin: 1 Bilangan klik: 785
1
fokus pada
1617
Pengikut

Artikel ini akan menerangkan secara terperinci strategi perdagangan kuantitatif garis pendek dengan gabungan pelbagai petunjuk. Strategi ini menggunakan sekumpulan petunjuk teknikal yang kuat untuk menghasilkan isyarat perdagangan dalam jangka masa yang rendah (seperti 15 minit).

I. Prinsip-prinsip Strategi

Di tengah-tengah strategi ini, gabungan pelbagai indikator digunakan, termasuk:

(1) Sistem dua garis sejajar: mengira dua purata bergerak Hull secara cepat dan perlahan, menilai arah trend berdasarkan hubungan silang mereka.

(2) Sistem Ichimoku: Mengira garisan penukaran, garisan penanda dan lain-lain, dan digabungkan dengan grafik awan untuk menilai trend dan sokongan rintangan.

(3) Saluran Donchian: membina saluran dengan harga tertinggi dan terendah, menilai harga yang pecah.

(4) MACD: Mengira MACD dan talian isyarat, dan melakukan operasi berdasarkan persimpangan mereka.

Isyarat dagangan yang lebih dipercayai dihasilkan apabila penunjuk-penunjuk ini bersetuju dengan keputusan trend. Logiknya ialah:

Apabila Hull MA yang cepat menembusi Hull MA yang perlahan, DAN Ichimoku melintasi peta awan DAN Donchian menerobos saluran DAN MACD melintasi jalur isyarat, lakukan lebih banyak; sebaliknya menilai kosong.

Pada masa yang sama, perubahan dalam harga penutupan K Line setiap hari boleh digunakan sebagai penilaian tambahan untuk mengelakkan terbalik.

Selain itu, strategi ini mengandungi logik stop loss dan stop loss yang mengawal risiko dan pulangan bagi setiap perdagangan.

Kedua, kelebihan strategi

Kelebihan utama strategi ini adalah bahawa kombinasi indikator saling melengkapi, yang dapat meningkatkan kualiti isyarat. Indikator yang berbeza menilai trend dari pelbagai sudut, dan hanya satu persetujuan yang menghasilkan isyarat, yang mengelakkan batasan satu indikator.

Kedua, kombinasi pelbagai kitaran masa juga merupakan kelebihan besar. Penghakiman tambahan Kline setiap hari dapat menyaring risiko kitaran rendah jangka pendek.

Akhirnya, strategi yang mengandungi mekanisme stop-loss juga membolehkan risiko untuk setiap perdagangan dapat dikawal.

Ketiga, potensi risiko

Walaupun strategi ini direka dengan baik, risiko yang perlu diperhatikan dalam perdagangan adalah:

Pertama, kombinasi pelbagai parameter meningkatkan kesukaran pengoptimuman parameter, yang boleh menyebabkan pengoptimuman yang berlebihan.

Kedua, dalam trend yang kuat, stop loss mungkin dirobohkan dan menyebabkan kerugian.

Akhir sekali, penghakiman jangka masa berbilang juga terdapat kes di mana complexesignals sukar untuk dinilai.

Secara keseluruhannya, strategi ini secara keseluruhan menggabungkan sains logik, yang dapat terus dioptimumkan melalui ujian parameter, menjadi strategi kuantitatif garis pendek yang berkesan.

Empat isi, ringkasan

Artikel ini menerangkan secara terperinci strategi perdagangan kuantitatif garis pendek dengan kombinasi pelbagai indikator. Ia menggunakan indikator seperti garis rata-rata, Ichimoku, saluran Donchian, MACD untuk kombinasi, meningkatkan kualiti isyarat.

Kod sumber strategi
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Custom 15m strat",overlay=true)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", step=0.0001)`
SL = input(defval=-500.00, title="Stop Loss in $", step=1)
TP = input(defval=25000.00, title="Target Point in $", step=1)
ot=1
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength) //macd
aMACD = ema(MACD, MACD_Length) //signal
closelong = n1<n2 and close<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and close>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and close>n2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and close<n2 and leadLine1<leadLine2 and open>LS and MACD<aMACD
if (shortCondition)
    strategy.entry("Short",strategy.short)

a1=plot(n1,color=c)
a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
//plot(longCondition == true ? 4000:4100,title="long")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")
p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart