
Strategi ini membuat keputusan membeli dan menjual berdasarkan indikator pergerakan dan indikator jumlah transaksi saham. Beli apabila harga saham naik dan turun dengan pesat dan jumlah transaksi meningkat. Jual apabila harga saham turun dengan pesat dan jumlah transaksi meningkat. Strategi ini menangkap pergerakan harga jangka pendek yang disebabkan oleh tindakan massa pasaran.
Kekuatan dan jangka masa trend perubahan harga saham menentukan momentum. Strategi ini menilai pergerakan harga dengan mengira jumlah perubahan harga saham dari hari sebelumnya. Apabila harga naik secara berturut-turut, momentum adalah positif; apabila harga turun secara berturut-turut, momentum adalah negatif.
Khususnya, syarat membeli adalah memakai 0 pada penunjuk momentum dan jumlah urus niaga melebihi 20 hari purata jumlah urus niaga sebanyak 2 kali; syarat menjual adalah memakai 0 di bawah penunjuk momentum dan jumlah urus niaga melebihi 20 hari purata jumlah urus niaga sebanyak 2 kali. Tetapkan stop-loss selepas membeli sebanyak 0.8 kali harga pembelian dan stop-loss sebanyak 0.5 kali harga pembelian; dan sebaliknya dengan stop dan stop-loss yang ditetapkan selepas menjual.
Kelebihan terbesar strategi ini adalah menangkap trend jangka pendek dan tindakan massa di pasaran. Apabila harga saham meningkat atau menurun secara berterusan, banyak peruncit dan institusi akan mengikuti pergerakan harga saham yang kuat untuk berdagang. Ini akan membentuk trend harga jangka pendek yang meningkatkan diri.
Pertama, turun naik harga saham dalam jangka pendek tidak dapat diramalkan dan dikawal sepenuhnya. Terdapat risiko bahawa harga akan berbalik secara drastik akibat peristiwa yang tidak dijangka, di mana mekanisme stop-loss tidak dapat mengelakkan kerugian sepenuhnya. Kedua, data jumlah dagangan tidak seimbang dalam kualiti.
Anda boleh mempertimbangkan untuk menggabungkan lebih banyak sumber data untuk meningkatkan keberkesanan strategi. Sebagai contoh, dengan memperkenalkan perbincangan saham yang berkaitan di platform internet seperti media sosial. Apabila terdapat peningkatan yang ketara dalam perbincangan saham, kemungkinan besar akan menunjukkan perubahan harga saham di masa depan. Ini boleh digunakan sebagai isyarat pembelian dan penjualan tambahan untuk strategi.
Strategi ini menangkap perubahan komprehensif dalam indikator pergerakan harga saham dan indikator jumlah urus niaga untuk membuat keputusan mengenai trend jangka pendek dan tingkah laku orang ramai di pasaran. Strategi pelaburan kuantitatif ini berdasarkan data besar dan prinsip kewangan tingkah laku, mempunyai hasil yang diharapkan lebih tinggi berbanding dengan strategi pelaburan tradisional. Tetapi juga memerlukan pengetahuan dan pencegahan risiko yang mencukupi, dan terus mengoptimumkan parameter input strategi untuk meningkatkan keberkesanan perdagangan.
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Momentum and Volume Bot', overlay=true)
// Define strategy parameters
profit_target_percent = input(0.8, title='Profit Target (%)')
stop_loss_percent = input(0.5, title='Stop Loss (%)')
volume_threshold = input(2, title='Volume Threshold')
// Calculate momentum
momentum = close - close[1]
// Calculate average volume
avg_volume = ta.sma(volume, 20)
// Buy condition
buy_condition = ta.crossover(momentum, 0) and volume > avg_volume * volume_threshold
// Sell condition
sell_condition = ta.crossunder(momentum, 0) and volume > avg_volume * volume_threshold
// Strategy logic
strategy.entry('Buy', strategy.long, when=buy_condition)
strategy.entry('Sell', strategy.short, when=sell_condition)
// Set profit target and stop loss
strategy.exit('Take Profit/Stop Loss', from_entry='Buy', profit=close * profit_target_percent / 100, loss=close * stop_loss_percent / 100)
strategy.exit('Take Profit/Stop Loss', from_entry='Sell', profit=close * profit_target_percent / 100, loss=close * stop_loss_percent / 100)
// Plotting
plotshape(series=buy_condition, title='Buy Signal', color=color.new(color.green, 0), style=shape.triangleup, size=size.small)
plotshape(series=sell_condition, title='Sell Signal', color=color.new(color.red, 0), style=shape.triangledown, size=size.small)