Strategi imbangan dinamik jangka pendek harian yang menggabungkan purata bergerak dan aliran super


Tarikh penciptaan: 2024-03-11 11:33:47 Akhirnya diubah suai: 2024-03-11 11:33:47
Salin: 0 Bilangan klik: 692
1
fokus pada
1617
Pengikut

Strategi imbangan dinamik jangka pendek harian yang menggabungkan purata bergerak dan aliran super

Gambaran Keseluruhan Strategi

Strategi keseimbangan dinamik multi ruang dalam sehari yang digabungkan dengan trend rata-rata dan super trend adalah strategi perdagangan kuantitatif yang ditulis berdasarkan Pine Script TM 5. Strategi ini menggunakan indikator MACD dan indikator super trend untuk menangkap peluang tren di pasaran, sambil mengawal risiko melalui pertukaran multi ruang yang dinamik dan stop loss.

Prinsip Strategi

Di tengah-tengah strategi ini, MACD dan Super Trend Indicator digabungkan untuk menilai arah trend pasaran.

  1. Menggunakan indikator supertrend untuk menilai arah trend semasa. Apabila indikator supertrend berubah, menunjukkan bahawa trend telah berbalik.
  2. Untuk menilai perubahan momentum, gunakan carta MACD untuk menentukan perubahan momentum. Apabila carta MACD bertukar menjadi negatif, ia menunjukkan peningkatan tenaga pendakian ke atas. Apabila carta MACD bertukar menjadi positif, ia menunjukkan peningkatan tenaga pendakian ke bawah.
  3. Apabila penunjuk super trend dan penunjuk MACD mengeluarkan isyarat melakukan banyak, buka lebih banyak; apabila penunjuk super trend dan penunjuk MACD mengeluarkan isyarat melakukan sedikit, buka posisi kosong.
  4. Pada waktu yang ditetapkan setiap hari perdagangan (misalnya, 15:15), semua kedudukan akan dihapuskan untuk mengelakkan risiko bermalam.
  5. Pada hari dagangan baru (seperti 09:30), buka semula kedudukan mengikut petunjuk petunjuk Super Trend dan MACD.

Strategi ini dapat menyesuaikan diri dengan perubahan pasaran dan menangkap peluang yang sedang tren melalui pertukaran pelbagai ruang yang dinamik. Di samping itu, reka bentuk kedudukan kosong tetap juga dapat membantu mengawal risiko.

Kelebihan Strategik

  1. Pengesanan Trend: Dengan menggabungkan penunjuk Super Trend dengan penunjuk MACD, strategi ini dapat menangkap peluang tren di pasaran dengan berkesan.
  2. Dinamika bertukar-tukar: Strategi ini akan menyesuaikan arah kedudukan mengikut perubahan dinamik dalam penunjuk dan menyesuaikan diri dengan perubahan pasaran.
  3. Kawalan risiko: Strategi ini dapat mengawal risiko dengan lebih baik melalui kedudukan kosong tetap dan pertukaran dinamik multi-ruang.
  4. Fleksibiliti parameter: parameter strategi (seperti kitaran ATR, faktor, dan lain-lain) boleh disesuaikan mengikut ciri-ciri pasaran dan keutamaan peribadi, dengan fleksibiliti tertentu.

Risiko Strategik

  1. Risiko kegagalan penunjuk: Dalam keadaan pasaran tertentu, penunjuk MACD dan penunjuk super trend mungkin menghantar isyarat yang salah, menyebabkan strategi gagal.
  2. Risiko pengoptimuman parameter: Prestasi strategi bergantung pada pilihan parameter, dan parameter yang tidak sesuai boleh menyebabkan prestasi strategi yang buruk.
  3. Risiko Stop Loss: Strategi ini tidak mempunyai logik stop loss yang jelas, yang boleh menyebabkan kerugian yang lebih besar dalam keadaan pasaran yang melampau.
  4. Risiko bermalam: Walaupun strategi ini menamatkan dagangan pada waktu siang, ia mungkin menghadapi risiko bermalam apabila anda membuka dagangan pada waktu malam.

Arah pengoptimuman

  1. Tambah Logik Hentikan Kerosakan: Menambahkan logik hentikan yang jelas dalam strategi, seperti Hentikan Peratusan Tetap atau Hentikan ATR, untuk mengawal risiko lebih lanjut.
  2. Optimasi parameter: Optimasi parameter utama strategi, seperti kitaran ATR, faktor, parameter MACD, dan lain-lain untuk meningkatkan kestabilan dan keuntungan strategi.
  3. Penapisan isyarat: Tambah lebih banyak syarat penapisan isyarat, seperti penembusan harga, jumlah transaksi dan sebagainya, untuk meningkatkan kebolehpercayaan isyarat.
  4. Ujian pelbagai pasaran: Uji strategi di pelbagai pasaran dan varieti untuk menilai kesesuaian dan kestabilan.

ringkaskan

Strategi keseimbangan dinamik dalam masa sehari-hari yang digabungkan dengan trend rata-rata dan super trend adalah strategi perdagangan yang berdasarkan pada pengesanan trend dan dinamika. Dengan menggabungkan indikator super trend dan indikator MACD, strategi ini dapat menyesuaikan arah kedudukan secara dinamik untuk menyesuaikan diri dengan perubahan pasaran dan menangkap peluang trend. Di samping itu, reka bentuk kedudukan rata tetap juga membantu mengawal risiko semalaman.

Walau bagaimanapun, strategi ini juga mempunyai beberapa risiko dan kekurangan, seperti risiko kegagalan penunjuk, risiko pengoptimuman parameter, risiko hentian, dan sebagainya. Untuk menyempurnakan lagi strategi ini, anda boleh mempertimbangkan untuk menambah logik hentian, mengoptimumkan parameter, menambahkan lebih banyak syarat penapisan isyarat, dan menguji di banyak pasaran.

Secara keseluruhan, strategi keseimbangan dinamik multi ruang dalam masa sehari yang digabungkan dengan trend super memberikan pemikiran untuk mengesan trend dan mengawal risiko. Dalam aplikasi praktikal, peniaga harus menggabungkan pilihan risiko dan ciri-ciri pasaran mereka sendiri, untuk menyesuaikan dan mengoptimumkan strategi dengan betul, dan menggunakannya dengan bijak. Walaupun strategi perdagangan kuantitatif dapat memberikan pemikiran perdagangan, tetapi pasaran berubah-ubah, tidak ada strategi yang dapat menjamin keuntungan.

Kod sumber strategi
/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © smj31071995

//@version=5
strategy("EQ - INTRA - Samsuga supertrend prod", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick = false)


atrPeriod = input.int(7,    "ATR Length", minval = 1)
factor =    input.float(1.0, "Factor",     minval = 0.01, step = 0.01)
st_tf = "3"
macd_tf="30"

[supertrend, direction] =request.security(symbol = syminfo.tickerid, timeframe = st_tf,expression =  ta.supertrend(factor, atrPeriod),lookahead=barmerge.lookahead_on)

supertrend := barstate.isfirst ? na : supertrend
upTrend =    plot(direction <= 0 ? supertrend : na, "Up Trend",   color = color.green, style = plot.style_linebr)
downTrend =  plot(direction <= 0 ? na : supertrend, "Down Trend", color = color.red,   style = plot.style_linebr)
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, "Body Middle",display = display.none)
longcondition = direction[1] > direction 
shortCondition = direction[1] < direction 

macdp1 = 2
macdp2=8
macdp3=4

[macdLine, signalLine, histLine] =request.security(symbol = syminfo.tickerid, timeframe = macd_tf,expression = ta.macd(close,macdp1,macdp2,macdp3),lookahead=barmerge.lookahead_on)
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
timezone_input = input("Asia/Kolkata", title="Timezone")
// log.info(timezone_input)
if(hour==15 and minute==15)
    strategy.close_all(comment = "DAY EXIT",alert_message = "X-D")
else if(hour==9 and minute==30)
    if(longcondition or histLine[1]>0)
        strategy.entry(id= "Long", direction=strategy.long,  comment = "DL",alert_message = "L")
    else if(shortCondition or histLine[1]<0) 
        strategy.entry(id= "Short", direction=strategy.short,  comment = "DS",alert_message = "S")
else
    if(longcondition)
        strategy.close("Short",comment = "X-S", alert_message = "X-S")
        if(histLine[1]>0)    
            strategy.entry(id= "Long", direction=strategy.long,  comment = "L",alert_message = "L")
    else if(shortCondition) 
        strategy.close("Long",comment = "X-L",alert_message = "X-L")
        if(histLine[1]<0)    
            strategy.entry(id= "Short", direction=strategy.short,  comment = "S",alert_message = "S")


// plot(macdLine,   title = "MACD",   color = #2962FF)
// plot(signalLine, title = "Signal", color = #FF6D00)
// 8, 21, 5
// 8,13,9
// 12,26,9
//  1--> 3, 17, 5
// 3, 10, 16
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
//  /////////----------------METHOD 1-----------------////////////////
// if(longcondition)
//     if(strategy.opentrades>0)
//         strategy.close("Long","Prev Exit", immediately = true)
//     if( histLine[0] > 0.1)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long")

    
// else if(shortCondition and strategy.openprofit<=0.1) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 2-----------------////////////////
// if(longcondition)
//     if(histLine[0] > 0)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long" )
//         strategy.exit("Long", loss = close*0.2)


    
// else if(shortCondition ) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 3-----------------////////////////