Artikel ini memperkenalkan strategi perdagangan jangka pendek berdasarkan saluran harga dinamis.
Strategi ini didasarkan pada logika berikut:
Menghitung saluran harga dinamis menggunakan harga tertinggi dan terendah. Band atas adalah rata-rata harga tertinggi dan titik tengah saluran. Band bawah adalah titik tengah dikurangi perbedaan antara harga terendah dan titik tengah.
Ketika harga menembus band atas, tren naik dimulai. Ketika harga menembus band bawah, tren turun dimulai.
Dalam tren naik, pergi panjang ketika dua bar bearish berturut-turut muncul. Dalam tren turun, pergi pendek ketika dua bar bullish berturut-turut muncul.
Pertimbangkan entri kontra-tren untuk mengejar momentum pasar. misalnya, pendek dalam tren naik dan panjang dalam tren turun.
Tetapkan persentase keuntungan, seperti x% dari harga masuk, untuk mengunci keuntungan.
Keuntungan dari strategi ini meliputi:
Saluran dinamis mencerminkan perubahan pasar secara real time untuk penilaian tren yang lebih baik.
Menggabungkan tren dan breakout menyaring breakout palsu.
Entri kontra-tren memanfaatkan momentum pasar untuk keuntungan yang berlebihan.
Menghentikan keuntungan secara efektif mengendalikan risiko.
Logikanya sederhana dan jelas untuk penerapan yang mudah.
Ada juga beberapa risiko yang harus dipertimbangkan:
Saluran mungkin gagal selama pasar yang tidak stabil.
Perdagangan yang bertentangan dengan tren rentan terhadap kerugian.
Pengecualian palsu dapat menyebabkan perdagangan yang buruk.
Hindari overtrading untuk mengendalikan biaya.
Strategi ini mengintegrasikan saluran dinamis, breakout, dan mengambil keuntungan. Dengan penyesuaian yang tepat, ini bisa menjadi alat perdagangan jangka pendek yang efektif.
/*backtest start: 2022-09-09 00:00:00 end: 2023-09-15 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Scalper Strategy v1.1", shorttitle = "Scalper str 1.1", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") takepercent = input(0, defval = 0, minval = 0, maxval = 1000, title = "take, %") needct = input(false, defval = false, title = "Counter-trend entry") len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period") needbb = input(true, defval = true, title = "Show Bands") needbg = input(true, defval = true, title = "Show Background") src = close //PriceChannel lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //Distance dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma hd2 = center + distsma * 2 ld2 = center - distsma * 2 //Trend sma = sma(close, 20) smatrend = close > sma ? 1 : close < sma ? -1 : smatrend[1] trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1] //Lines colo = needbb == false ? na : black plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band") plot(center, color = colo, linewidth = 1, transp = 0, title = "center") plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Signals bar = close > open ? 1 : close < open ? -1 : 0 up7 = trend == 1 and bar == -1 and bar[1] == -1 ? 1 : 0 dn7 = trend == 1 and bar == 1 and bar[1] == 1 and close > strategy.position_avg_price * (100 + takepercent) / 100 ? 1 : 0 up8 = trend == -1 and bar == -1 and bar[1] == -1 and close < strategy.position_avg_price * (100 - takepercent) / 100 ? 1 : 0 dn8 = trend == -1 and bar == 1 and bar[1] == 1 ? 1 : 0 if up7 == 1 or up8 == 1 strategy.entry("Long", strategy.long, needlong == false ? 0 : trend == -1 and needct == false ? 0 : na) if dn7 == 1 or dn8 == 1 strategy.entry("Short", strategy.short, needshort == false ? 0 : trend == 1 and needct == false ? 0 : na)