Tren Mengikuti Strategi Berdasarkan Integrasi Harga-Volume

Penulis:ChaoZhang, Tanggal: 2023-09-13 15:25:20
Tag:

Strategi ini disebut Trend Following Strategy Based on Price-Volume Integration. Ini mempertimbangkan indikator harga dan volume untuk menentukan arah tren dan menghasilkan sinyal yang selaras dengan kekuatan harga-volume.

Logika perdagangan adalah sebagai berikut:

Pertama-tama hitung rata-rata pergerakan harga 5 hari dan rata-rata pergerakan volume 15 hari.

Ketika rata-rata pergerakan harga 5 hari naik dan rata-rata pergerakan volume 15 hari juga naik, itu menandakan kenaikan harga-volume yang disinkronkan untuk menghasilkan sinyal beli.

Ketika rata-rata pergerakan harga 5 hari menurun, atau rata-rata pergerakan volume 15 hari menurun, posisi panjang yang ada akan ditutup.

Keuntungan dari strategi ini adalah bersama-sama menggunakan perubahan harga dan volume untuk menilai arah tren.

Tetapi parameter rata-rata bergerak perlu dioptimalkan dan disesuaikan agar sesuai dengan karakteristik produk yang berbeda. Stop loss juga penting untuk mengurangi risiko kerugian perdagangan tunggal.

Kesimpulannya, mengintegrasikan indikator harga dan volume dengan benar dapat meningkatkan kinerja strategi perdagangan tren.


/*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 )

 
        

Lebih banyak