
Ini adalah strategi yang menggunakan harga-harga utama pada waktu yang berlainan untuk melakukan penyebaran dua kali untuk membentuk isyarat perdagangan. Ia boleh masuk ke dalam kedudukan jual atau beli apabila harga trend menembusi sokongan atau rintangan utama untuk menangkap trend garis tengah.
Strategi ini menganalisa pergerakan harga pada masa yang sama pada dua paksi masa yang berbeza (tf dan tf2), paksi masa tf lebih panjang, yang mencerminkan trend garis tengah; paksi masa tf2 lebih pendek, yang mencerminkan pergerakan jangka pendek. Strategi ini memantau isyarat perdagangan berikut:
Syarat pembentukan isyarat dagangan adalah: up1 dan up2 adalah benar pada masa yang sama, yang menunjukkan bahawa garis tengah dan panjang dan pendek adalah lebih baik, yang mana lebih banyak; dn1 dan dn2 adalah benar pada masa yang sama, yang menunjukkan bahawa garis tengah dan panjang dan pendek adalah lebih rendah, yang mana kosong.
Strategi ini juga menambah beberapa syarat penapisan, seperti penapisan set dan warna K, untuk mencegah penembusan trend yang tidak benar membentuk isyarat palsu.
Secara keseluruhannya, strategi ini memanfaatkan keunggulan analisis pelbagai tempoh masa untuk membentuk isyarat perdagangan yang berkualiti tinggi, sambil memastikan trend garis tengah dan panjang sesuai dengan jangkaan, dan mengelakkan gangguan oleh bunyi pasaran jangka pendek.
Strategi ini memantau penembusan harga utama pada kedua-dua garis masa, yang dapat menangkap masa masuk yang jelas pada peringkat permulaan trend.
Penembusan pada masa yang sama pada dua garis masa yang berbeza dapat mengurangkan isyarat salah yang disebabkan oleh turun naik rawak dan meningkatkan kualiti isyarat.
Tambahkan penghakiman reversal dan warna K untuk menyaring beberapa isyarat penembusan berkualiti rendah dan mengelakkan kerosakan yang serius.
Strategi ini hanya memerlukan dua parameter time-axis untuk berfungsi, pilihan parameter fleksibel untuk pelbagai jenis.
Struktur strategi jelas, asas mudah difahami; juga parameter boleh disesuaikan mengikut ciri-ciri situasi, untuk pengoptimuman strategi.
Berbanding dengan single breakout, double breakout boleh menyebabkan beberapa kelewatan masuk dan kehilangan keuntungan dari pasaran yang kuat pada awal.
Berbeza dengan jenis dan kitaran pasaran, sangat penting untuk memilih harga kunci yang sesuai, jika tidak, anda mungkin mendapat isyarat yang salah.
Walaupun terdapat dua kali pecah, mungkin berlaku kegagalan pecah dan kemudian pemulihan cepat, yang membawa kepada kerugian.
Pada akhir trend, masuk boleh mengalami perubahan tiba-tiba, dan tidak dapat menghentikan keluar dengan tepat pada masanya, menyebabkan kerugian yang lebih besar.
Walaupun mudah, untuk mencari kombinasi parameter terbaik masih memerlukan banyak ujian berulang, dan pengoptimuman lebih sukar.
Anda boleh menetapkan hentian bergerak atau hentian masa, dan hentikan kerugian sebelum kerugian meningkat.
Anda boleh menguji parameter amplitudo set balik yang berbeza, atau mencuba cara penapisan lain.
Ia membolehkan harga utama berubah secara dinamik mengikut perubahan pasaran, dan bukannya secara statik.
Ia boleh mengoptimumkan kombinasi parameter terbaik untuk pelbagai jenis melalui pembelajaran mesin.
Anda boleh menambah pengesahan jumlah transaksi untuk mengelakkan banyak penembusan.
Strategi ini secara keseluruhan adalah strategi penjejakan trend yang mudah dan praktikal. Ia menggunakan analisis dua sumbu masa pada masa yang sama, masuk apabila garis tengah dan panjang sesuai dengan yang diharapkan, dapat menyaring kebisingan dengan berkesan. Isyarat strategi jelas dan mudah dibaca, dan parameter yang ditetapkan juga mudah dilihat. Tetapi pada masa yang sama terdapat masalah seperti masa masuk yang tidak baik, pilihan harga utama yang sukar.
/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Levels Strategy v1.0", shorttitle = "Levels str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W', title = "timeframe 1")
tf2 = input('D', title = "timeframe 2")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "antipila")
cf = input(true, defval = true, title = "color filter")
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")
//Signals
level = request.security(syminfo.tickerid, tf, src[1])
level2 = request.security(syminfo.tickerid, tf2, src[1])
plot(level, linewidth = 3, color = silver)
plot(level2, linewidth = 3, color = gray)
up1 = close > level and ap == false ? true : low > level ? true : false
dn1 = close < level and ap == false ? true : high < level ? true : false
up2 = close > level2 and ap == false ? true : low > level2 ? true : false
dn2 = close < level2 and ap == false ? true : high < level2 ? true : false
//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if up1 and up2 and (close < open or cf == false)
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if dn1 and dn2 and (close > open or cf == false)
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when = (time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()