
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.
Di tengah-tengah strategi ini, MACD dan Super Trend Indicator digabungkan untuk menilai arah trend pasaran.
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.
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.
/*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-----------------////////////////