Strategi perdagangan algoritmik jangka pendek multi-indikator

Penulis:ChaoZhang, Tanggal: 2023-09-14 19:46:55
Tag:

Artikel ini secara rinci memperkenalkan strategi perdagangan algoritmik jangka pendek yang menggabungkan beberapa indikator.

I. Logika Strategi

Inti dari strategi ini adalah menggunakan kombinasi dari beberapa indikator, terutama termasuk:

(1) Sistem Dual Moving Average: Menghitung satu Hull Moving Average cepat dan satu Hull Moving Average lambat dan menilai tren berdasarkan persilangan mereka.

(2) Sistem Ichimoku: Menghitung konversi dan garis dasar antara lain, dan menentukan tren dan level support/resistance berdasarkan awan Ichimoku.

(3) Saluran Donchian: Membangun saluran dengan menggunakan harga tertinggi dan terendah untuk mengidentifikasi price breakout.

(4) MACD: Menghitung MACD dan garis sinyal, membuat perdagangan berdasarkan persilangan mereka.

Hanya ketika indikator-indikator ini mencapai konsensus tentang penilaian tren, sinyal perdagangan yang dapat diandalkan akan dihasilkan.

Mengambil posisi panjang ketika Hull MA cepat melintasi di atas Hull MA lambat, DAN garis Ichimoku melintasi di atas awan, DAN Saluran Donchian pecah, DAN MACD melintasi di atas garis sinyal.

Harga penutupan bar harian juga dimasukkan untuk menghindari terjebak dalam pembalikan.

Selain itu, strategi berisi stop loss dan mengambil keuntungan logika untuk mengontrol risiko dan imbalan untuk setiap perdagangan.

II. Keuntungan dari Strategi

Keuntungan terbesar dari strategi ini adalah komplementaritas kombinasi indikator, yang meningkatkan kualitas sinyal. indikator yang berbeda menilai tren dari berbagai sudut, hanya setuju secara bulat untuk menghasilkan sinyal, menghindari keterbatasan indikator tunggal.

Kedua, kombinasi multi-frame juga merupakan keuntungan yang signifikan.

Akhirnya, mekanisme stop loss dan take profit juga memastikan risiko yang dapat dikendalikan per perdagangan.

III. Potensi Risiko

Meskipun desain strategi yang baik, risiko perdagangan juga harus dicatat:

Pertama, kombinasi indikator ganda meningkatkan kesulitan optimasi.

Kedua, stop loss dapat dipukul dalam pergerakan tren yang kuat, yang mengarah pada kerugian yang tidak perlu.

Akhirnya, penghakiman multi-frame waktu juga dapat memperkenalkan situasi yang membingungkan yang sulit untuk diuraikan.

Secara keseluruhan, strategi ini menggabungkan indikator dengan cara ilmiah, dan dapat menjadi sistem perdagangan algoritmik jangka pendek yang efektif melalui pengujian dan optimasi parameter.

IV. Ringkasan

Secara singkat, artikel ini telah memperkenalkan secara rinci strategi perdagangan algoritmik jangka pendek yang menggabungkan beberapa indikator. Ini menggunakan kombinasi dari rata-rata bergerak ganda, Ichimoku, Saluran Donchian, MACD dan banyak lagi untuk meningkatkan kualitas sinyal. Ini juga memanfaatkan analisis multi-frame waktu dan logika stop loss / take profit untuk mengendalikan risiko. Dengan optimasi, strategi ini dapat menjadi sistem yang efisien untuk perdagangan sistematis jangka pendek.


/*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

Lebih banyak