
Strategi berturut-turut turun-turun adalah strategi perdagangan kuantitatif yang didasarkan pada penurunan harga dan berturut-turut turun. Strategi ini menangkap peluang pembalikan trend jangka pendek dengan mengenal pasti bentuk yang berturut-turut X turun turun dan diikuti dengan kenaikan Y berturut-turut. Idea utama strategi ini adalah bahawa apabila harga mengalami penurunan berturut-turut, ini menunjukkan bahawa tenaga kepala kosong telah dilepaskan, dan kemudian jika terdapat berturut-turut berturut-turut, ini bermakna kekuatan kepala kosong mula berkumpul dan harga mungkin akan memulakan gelombang kenaikan harga.
Prinsip-prinsip strategi pembalikan berturut-turut boleh dibahagikan kepada beberapa langkah berikut:
Strategi ini menggunakan bentuk kejatuhan berturut-turut dan kelam, cuba untuk menangkap peluang untuk berbalik dari kepala kosong ke kepala banyak. Pada masa yang sama, syarat-syarat berhenti yang ketat telah ditetapkan untuk mengawal risiko.
Strategi berturut-turut turun-turun dan berbalik-balik mempunyai kelebihan berikut:
Walaupun terdapat beberapa kelebihan dalam strategi pembalikan berterusan, terdapat risiko berikut:
Untuk menangani risiko ini, langkah-langkah pengoptimuman berikut boleh dipertimbangkan:
Terdapat juga beberapa cara yang boleh dioptimumkan untuk membalikkan strategi ini:
Dengan langkah-langkah pengoptimuman di atas, strategi pembalikan berturut-turut boleh menyesuaikan diri dengan perubahan pasaran, mengawal risiko, meningkatkan keuntungan dan kestabilan.
Strategi berturut-turut turun naik - berturut-turut berbalik adalah strategi perdagangan kuantitatif berdasarkan kesinambungan harga, menangkap peluang pembalikan pasaran dalam jangka pendek dengan mengenal pasti bentuk berturut-turut turun naik dan berturut-turut. Peraturan strategi ini sederhana dan jelas, lebih sensitif terhadap perubahan trend harga, dan mempunyai syarat-syarat berhenti yang ketat untuk mengawal risiko.
Walau bagaimanapun, strategi ini juga mempunyai beberapa risiko, seperti perdagangan yang kerap, kedudukan berhenti mungkin terlalu ketat, dan mungkin tidak berfungsi dengan baik dalam pasaran yang kuat. Untuk menangani risiko ini, langkah-langkah seperti parameter penyesuaian dinamik, mengoptimumkan kedudukan berhenti, dan mengambil strategi yang berbeza dalam keadaan pasaran yang berbeza boleh dipertimbangkan.
Di samping itu, strategi ini juga mempunyai beberapa arah pengoptimuman, seperti memperkenalkan lebih banyak petunjuk, mengoptimumkan stop loss dan stop loss, menyesuaikan diri dengan keadaan pasaran yang berbeza, memasukkan pengurusan kedudukan dan menggabungkannya dengan strategi lain. Dengan pengoptimuman dan penambahbaikan yang berterusan, strategi pembalikan berturut-turut yang baik dan buruk dapat menjadi strategi perdagangan kuantitatif yang lebih mantap dan berkesan.
Secara keseluruhan, strategi berturut-turut turun naik-terbalik-terbalik memberikan idea perdagangan yang mudah dan berkesan untuk mendapatkan keuntungan dengan menangkap peluang pembalikan jangka pendek di pasaran. Tetapi dalam aplikasi praktikal, strategi perlu dioptimumkan dan disesuaikan dengan keadaan pasaran tertentu dan pilihan risiko peribadi untuk mencapai kesan perdagangan yang lebih baik.
/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Bottom Out Strategy", overlay=true)
consecutiveBarsUp = input(2)
consecutiveBarsDown = input(3)
price = close
ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0
dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0
var entry_bar_index = 1000000
var active = false
var stop_loss = 0.0
// === INPUT BACKTEST RANGE ===
i_from = input(defval = timestamp("01 Jan 2023 00:00 +0000"), title = "From")
i_thru = input(defval = timestamp("01 Mar 2024 00:00 +0000"), title = "Thru")
// === FUNCTION EXAMPLE ===
date() => true
entry_condition() =>
date() and dns[2] >= consecutiveBarsDown and ups >= consecutiveBarsUp and not active
exit_condition() =>
date() and active and (close < nz(stop_loss) or close < high - 2 * ta.atr(7))
if (entry_condition())
strategy.entry("ConsDnLong", strategy.long, comment="CDLEntry")
entry_bar_index := bar_index
active := true
stop_loss := math.min(close, close[1], close[2])
// log.info("Entry at bar {0}, close={1}, stop_loss={2} ", entry_bar_index, close, stop_loss)
if (exit_condition())
strategy.close("ConsDnLong", comment = "CDLClose")
// log.info("Close at bar {0}", bar_index)
entry_bar_index := 1000000
active := false
// if (dns >= consecutiveBarsDown)
// strategy.entry("ConsDnSE", strategy.short, comment="ConsDnSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
plot(high - 2* ta.atr(7))