Strategi perdagangan rata-rata bergerak multi-tingkat dengan mengatur rata-rata bergerak dari beberapa parameter yang berbeda, untuk mencapai masuk dan stop loss multi-tingkat. Strategi pertama-tama menghitung 3 garis panjang dan 3 garis pendek, lebih banyak jika panjang lebih rendah dari garis pendek, dan kosong jika garis pendek lebih rendah dari garis panjang. Strategi dapat mengatur parameter seperti panjang siklus perhitungan rata-rata bergerak, rasio deviasi, dan rentang waktu yang dapat diperdagangkan.
Rata-rata bergerak sederhana dari siklus len dari harga sumber src dalam parameter yang dihitung, sebagai rata-rata acuan.
Jumlah garis panjang dan garis pendek sesuai dengan parameter long dan short.
garis panjang 1 adalah garis rata-rata acuan dengan perbandingan yang ditetapkan oleh parameter longlevel1 dan lain-lain.
Dalam waktu yang dapat diperdagangkan, menilai hubungan antara harga dan garis rata-rata, untuk mencapai multi-level entry.
Stop loss dilakukan ketika harga mendekati garis tengah.
“Saya tidak tahu apa yang terjadi.
Strategi ini memiliki keuntungan sebagai berikut:
Ada banyak level untuk masuk, dan Anda dapat mengambil tren di berbagai tahap untuk mendapatkan keuntungan.
Ada banyak parameter yang dapat disesuaikan, yang dapat disesuaikan dengan varietas dan gaya perdagangan yang berbeda.
Berdasarkan sistem rata-rata garis, penilaian terobosan lebih dapat diandalkan.
Setel jangka waktu yang dapat diperdagangkan untuk menghindari waktu-waktu yang berpengaruh seperti rilis data penting.
Ada mekanisme penghentian kerugian yang dapat mengendalikan kerugian individu.
Strategi ini juga memiliki beberapa risiko:
Ini adalah risiko besar yang membutuhkan dukungan keuangan yang cukup.
Parameter yang tidak tepat dapat menyebabkan operasi garis super pendek. Parameter harus disetel dengan benar.
FIXED OUT TIME mungkin akan melewatkan keuntungan tren di tahap terakhir. Anda dapat mengatur tracking stop loss untuk mengoptimalkan.
Tidak ada pertimbangan untuk penyimpanan di malam hari dan di malam hari. Anda dapat menambahkan kontrol biaya penyimpanan.
Tidak mempertimbangkan kontrol posisi, dapat menyebabkan kepemilikan posisi yang terlalu besar.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Menambahkan stop loss mobile sebagai pengganti waktu berangkat yang tetap.
Pertimbangannya adalah untuk melakukan penarikan posisi secara overnight, dengan tambahan biaya penarikan dan kontrol slippage.
Bergabunglah dengan Stop Loss Tracker untuk mendapatkan keuntungan dari tahap terakhir.
Sesuai dengan posisi, atur jumlah tangan tunggal, kendalikan posisi satu arah.
Uji efek parameter yang berbeda pada varietas yang berbeda, membangun mekanisme optimasi parameter.
Optimalkan titik-titik stop loss untuk mengurangi stop loss yang tidak perlu.
Strategi multi-level move average line strategi multi-level move average line entry, untuk mencapai trend tracking untuk mendapatkan keuntungan. Waktu yang dapat diperdagangkan dan titik stop loss yang ditetapkan lebih baik mengendalikan risiko. Dengan cara mengendalikan biaya kepemilikan, pengoptimalan parameter, pengoptimalan stop loss, dan lain-lain, efek strategi dapat ditingkatkan lebih lanjut, layak untuk penelitian dan pengoptimalan lebih lanjut.
/*backtest
start: 2022-09-16 00:00:00
end: 2023-09-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2019
//@version=4
strategy(title = "Noro's ShiftMA-multi Strategy v1.1", shorttitle = "ShiftMA-multi", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)
//Settings
long = input(3, defval = 3, minval = 0, maxval = 3, title = "Lines for long")
short = input(3, defval = 3, minval = 0, maxval = 3, title = "Lines for short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len = input(3, minval = 1, title = "MA Length")
src = input(ohlc4, title = "MA Source")
shortlevel3 = input(15.0, title = "Short line 3")
shortlevel2 = input(10.0, title = "Short line 2")
shortlevel1 = input(5.0, title = "Short line 1")
longlevel1 = input(-5.0, title = "Long line 1")
longlevel2 = input(-10.0, title = "Long line 2")
longlevel3 = input(-15.0, title = "Long line 3")
needoffset = input(true, title = "Offset")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Variables
size = strategy.position_size
mult = 1 / syminfo.mintick
//MA
ma = sma(src, len)
longline1 = long >= 1 ? round(ma * ((100 + longlevel1) / 100) * mult) / mult : close
longline2 = long >= 2 ? round(ma * ((100 + longlevel2) / 100) * mult) / mult : close
longline3 = long >= 3 ? round(ma * ((100 + longlevel3) / 100) * mult) / mult : close
shortline1 = short >= 1 ? round(ma * ((100 + shortlevel1) / 100) * mult) / mult : close
shortline2 = short >= 2 ? round(ma * ((100 + shortlevel2) / 100) * mult) / mult : close
shortline3 = short >= 3 ? round(ma * ((100 + shortlevel3) / 100) * mult) / mult : close
//Lines
colorlong1 = long >= 1 ? color.lime : na
colorlong2 = long >= 2 ? color.lime : na
colorlong3 = long >= 3 ? color.lime : na
colorshort1 = short >= 1 ? color.red : na
colorshort2 = short >= 2 ? color.red : na
colorshort3 = short >= 3 ? color.red : na
offset = needoffset ? 1 : 0
plot(shortline3, offset = offset, color = colorshort1)
plot(shortline2, offset = offset, color = colorshort2)
plot(shortline1, offset = offset, color = colorshort3)
plot(ma, offset = offset, color = color.blue)
plot(longline1, offset = offset, color = colorlong1)
plot(longline2, offset = offset, color = colorlong2)
plot(longline3, offset = offset, color = colorlong3)
//Trading
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
lots = 0.0
needtime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
if ma > 0
lots := round(size / lot)
strategy.entry("L1", strategy.long, lot, limit = longline1, when = (lots == 0 and long >= 1 and needtime))
lots := round(size / lot)
strategy.entry("L2", strategy.long, lot, limit = longline2, when = (lots <= 1 and long >= 2 and needtime))
lots := round(size / lot)
strategy.entry("L3", strategy.long, lot, limit = longline3, when = (lots <= 2 and long >= 3 and needtime))
lots := round(size / lot)
strategy.entry("S1", strategy.short, lot, limit = shortline1, when = (lots == 0 and short >= 1 and needtime))
lots := round(size / lot)
strategy.entry("S2", strategy.short, lot, limit = shortline2, when = (lots >= -1 and short >= 2 and needtime))
lots := round(size / lot)
strategy.entry("S3", strategy.short, lot, limit = shortline3, when = (lots >= -2 and short >= 3 and needtime))
if size > 0
strategy.entry("TPL", strategy.short, 0, limit = ma)
if size < 0
strategy.entry("TPS", strategy.long, 0, limit = ma)
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()