Strategi ini dinamakan strategi pengesanan trend berdasarkan penggabungan kuantiti harga. Strategi ini mempertimbangkan harga dan indikator kuantiti perdagangan pada masa yang sama untuk menentukan arah trend untuk memberi kesan kepada isyarat perdagangan kekuatan kuantiti harga.
Logik perdagangan strategi ini adalah seperti berikut:
Mulakan dengan mengira purata pergerakan harga selama 5 hari dan purata pergerakan jumlah dagangan selama 15 hari.
Apabila harga naik pada purata bergerak 5 hari dan purata bergerak 15 hari dalam jumlah dagangan juga naik, harga dianggap menyerang dan menghasilkan isyarat beli.
Apabila harga turun pada purata bergerak 5 hari, atau jumlah dagangan turun pada purata bergerak 15 hari, maka lebih banyak pesanan akan dipadamkan.
Kelebihan strategi ini adalah bahawa ia menggabungkan perubahan harga dan jumlah transaksi untuk menentukan arah trend. Hanya apabila kedua-duanya berlawanan dengan penunjuk arah, ia boleh menyaring isyarat palsu dengan berkesan.
Tetapi parameter purata bergerak memerlukan penyesuaian yang optimum, dan kitaran masa juga memerlukan ciri-ciri yang sepadan dengan pelbagai jenis. Strategi berhenti rugi sama pentingnya, dapat mengurangkan risiko kerugian tunggal.
Secara keseluruhan, penggunaan harga yang bijak dan integrasi indikator jumlah dagangan dapat meningkatkan keberkesanan strategi perdagangan trend. Tetapi pedagang juga perlu memperhatikan lebih banyak maklumat pasaran, kekal fleksibel, menyesuaikan parameter strategi mengikut keadaan sebenar.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-09-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Celar
//@version=5
strategy("VOLLY PRICE CONVERGE", default_qty_type= strategy.percent_of_equity )
base_sma = ta.sma(close, 10)
vol_sma5 = ta.hma(volume, 15)
price_sma5 = ta.hma(close, 15)
ma50 = ta.sma(close, 50)
ma20 = ta.sma(close, 20)
int vol_indicator = na
int price_indicator = na
if vol_sma5 > vol_sma5[1]
vol_indicator := 1
else
vol_indicator := 0
if price_sma5 > price_sma5[1]
price_indicator := 1
else
price_indicator := 0
signal = vol_indicator + price_indicator
colour = signal == 2 ? #00802b : signal == 1 ? #cc2900 : color.white
bank_roll = strategy.equity
qty = bank_roll/close
strategy.entry("Long", strategy.long, qty, when = signal == 2 and close > base_sma)
// Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long".
strategy.close("Long", when = signal == 1 or signal == 0 or close < base_sma )