Trend Mengikut Strategi Berdasarkan Integrasi Harga-Volume

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

Strategi ini dinamakan Trend Following Strategy Based on Price-Volume Integration. Ia mempertimbangkan kedua-dua indikator harga dan jumlah untuk menentukan arah trend dan menghasilkan isyarat yang sejajar dengan kekuatan harga-volume.

Logik dagangan adalah seperti berikut:

Mula-mula mengira purata pergerakan harga 5 hari dan purata pergerakan jumlah 15 hari.

Apabila purata bergerak harga 5 hari naik dan purata bergerak jumlah 15 hari juga naik, ia menandakan kenaikan harga-volume yang diselaraskan untuk menjana isyarat beli.

Apabila purata bergerak harga 5 hari menurun, atau purata bergerak jumlah 15 hari menurun, kedudukan panjang yang sedia ada akan ditutup.

Kelebihan strategi ini adalah bersama-sama menggunakan perubahan harga dan jumlah untuk menilai arah trend. Hanya apabila kedua-duanya menunjukkan kenaikan, masuk panjang akan dicetuskan, dengan berkesan menapis isyarat palsu.

Tetapi parameter purata bergerak memerlukan pengoptimuman dan penyesuaian untuk menyesuaikan dengan ciri produk yang berbeza.

Kesimpulannya, penyatuan indikator harga dan jumlah yang betul dapat meningkatkan prestasi strategi perdagangan trend. Tetapi peniaga masih perlu menonton lebih banyak maklumat pasaran, mengekalkan fleksibiliti untuk menyesuaikan parameter strategi berdasarkan 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 )

 
        

Lebih lanjut