Strategi Perdagangan Kuantitatif Awan Ichimoku


Tarikh penciptaan: 2024-01-05 13:53:11 Akhirnya diubah suai: 2024-01-05 13:53:11
Salin: 0 Bilangan klik: 321
1
fokus pada
1141
Pengikut

Strategi Perdagangan Kuantitatif Awan Ichimoku

Gambaran keseluruhan

Strategi ini menggabungkan beberapa indikator seperti garis kurva, garis K hari, purata bergerak Hull, indikator MACD, dan lain-lain untuk membina mekanisme keputusan panjang dan panjang untuk mencapai perdagangan automatik.

Prinsip Strategi

Garis peralihan dan garis kelewatan yang dibina berdasarkan Ikimoku Cloud Belt membina isyarat dagangan multifungsi. Digabungkan dengan Hull Moving Average untuk menentukan arah trend. Kemudian menggunakan indikator MACD untuk menentukan jangka panjang dan jangka pendek. Garis K dalam sehari untuk menentukan penembusan sebagai isyarat masuk.

Garis penukaran adalah purata harga pertengahan hampir 9 hari. Garis kelewatan adalah purata harga pertengahan hampir 26 hari. Apabila di atas garisan penukaran melalui garisan kelewatan, buat lebih banyak. Apabila di bawah garisan penukaran melalui garisan kelewatan, buat kosong.

Hull Moving Average menilai trend dengan menyeberang dua rata-rata, dan apabila garis laju menyeberang garis perlahan, ia menilai sebagai tren naik; sebaliknya, dann menilai sebagai tren menurun.

MACD mengambil nilai rata-rata pergerakan indeks 12 dan 26 dan menilai kebolehan dengan menggunakan garpu emas garpu mati pada paksi sifar dan garpu emas garpu mati pada rata-rata.

K-Line dalam hari melintasi garisan kelewatan sebagai masa masuk.

Kelebihan Strategik

  1. Menggabungkan pelbagai petunjuk untuk menentukan arah trend.
  2. Pilih dengan teliti, dan elakkan transaksi yang tidak perlu.
  3. Pengendalian risiko dalam kedudukan, penghentian gangguan.

Risiko Strategik

  1. Penetapan parameter yang tidak betul boleh menyebabkan terlalu kuat memasuki padang.
  2. Kombinasi pelbagai indikator menambah kerumitan strategi.
  3. Operasi garis pendek pasti akan ditarik balik.

Pengoptimuman Strategi

  1. Menyesuaikan kombinasi parameter untuk lebih banyak jenis dan kitaran.
  2. Tambah modul pembelajaran mesin untuk menyesuaikan parameter.
  3. Optimumkan Indeks Motivasi Kemasukan, Tingkatkan Kadar Kemenangan.

ringkaskan

Strategi ini menggabungkan beberapa isyarat indikator seperti Ikimoku Cloud Belt dan lain-lain untuk membina sistem keputusan kuantitatif yang lengkap. Pencegahan dan penangguhan yang ketat mengawal risiko perdagangan. Dengan penyesuaian parameter dan pengoptimuman model, ia boleh disesuaikan dengan lebih banyak jenis perdagangan, dengan prospek aplikasi yang luas.

Kod sumber strategi
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
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("Ichimoku + Daily-Candle_X + HULL-MA_X + MacD", shorttitle="٩(̾●̮̮̃̾•̃̾)۶", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=720, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-500.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=25000.00, title="Target Point in $", type=float, 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=(request.security(syminfo.tickerid, 'D', close)-request.security(syminfo.tickerid, 'D', close[1]))/request.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)
aMACD = ema(MACD, MACD_Length)
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)//                         /L'-, 
//                               ,'-.           /MM . .             /  L '-, 
//     .                    _,--dMMMM\         /MMM  `..           /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `QMM   ,<>         /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\       `  ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//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(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