Strategi Pembalikan DCA Bulanan

Penulis:ChaoZhang, Tarikh: 2023-10-08 16:12:29
Tag:

Ringkasan

Tujuan strategi ini adalah untuk mengenal pasti titik pembalikan trend penurunan aset jangka pendek, dan melabur sejumlah wang tetap di titik-titik tersebut. Ini membolehkan purata kos dolar tetap (DCA) pada harga yang agak rendah selepas permulaan trend menaik.

Prinsip-prinsip

Strategi ini beroperasi pada jangka masa bulanan. Terdapat 240 bar 1 jam dalam setiap bulan, yang digunakan untuk menentukan masa pembalikan trend.

Secara khusus, strategi ini mengira perbezaan antara EMA cepat dan EMA perlahan (EMA_CD), serta garis isyarat EMA_CD. Apabila garis cepat melintasi di atas garis isyarat, ia menentukan akhir trend penurunan jangka pendek dan mencetuskan isyarat beli.

Selepas isyarat beli, strategi akan menutup semua kedudukan pada akhir bulan. Kemudian proses itu diulang pada bulan berikutnya, dengan pembelian berkala tetap dan memegang selama satu bulan.

Ini membolehkan kita memancing di hujung penurunan jangka pendek, dan purata kos dolar pada selang masa yang tetap.

Kelebihan

Kelebihan terbesar strategi ini adalah bahawa ia boleh menapis pasaran yang terikat julat dan hanya membeli pada titik pembalikan trend, dengan itu kos dolar purata pada harga yang agak lebih baik.

Juga, menggunakan EMA untuk menentukan titik pembalikan boleh menjadi lebih stabil dan tepat berbanding hanya melihat pembalikan lilin. EMA boleh meratakan bunyi pasaran jangka pendek yang mempengaruhi masa kemasukan.

Akhirnya, penghentian kerugian bulanan mengunci prestasi untuk setiap pelaburan bulanan, membatasi kerugian maksimum setiap bulan.

Risiko

Risiko terbesar strategi ini adalah bahawa harga terus menurun selepas membeli, yang membawa kepada penangguhan kerugian pada akhir bulan.

Kita boleh mengoptimumkan parameter EMA untuk meningkatkan pengenalan, atau menggabungkan penunjuk lain seperti RSI untuk mengesahkan isyarat pembalikan.

Satu lagi risiko ialah tahap stop loss. Stop loss yang terlalu ketat boleh dihentikan dengan mudah oleh turun naik jangka pendek. Stop loss yang terlalu luas gagal untuk mengehadkan kerugian. Parameter yang optimum perlu dijumpai dengan menguji tahap stop loss yang berbeza.

Peluang Peningkatan

Strategi ini boleh ditingkatkan dalam bidang berikut:

  1. Mengoptimumkan tempoh EMA untuk mencari kombinasi parameter optimum untuk mengenal pasti pembalikan.

  2. Tambah penapis lain seperti RSI untuk mengesahkan isyarat pembalikan.

  3. Uji tahap stop loss yang berbeza untuk mencari titik optimum yang memaksimumkan pencegahan kehilangan tanpa mendapat whipsawed.

  4. Pertimbangkan untuk menambah hentian penghantaran di atas stop loss untuk menyesuaikan tahap hentian secara dinamik berdasarkan harga.

  5. Uji jangka masa yang berbeza seperti harian atau mingguan untuk melihat mana yang terbaik untuk strategi ini.

Kesimpulan

Idea keseluruhan strategi ini adalah mudah dan jelas - menggunakan EMA untuk mengenal pasti pembalikan trend jangka pendek, dan purata kos dolar pada titik pembalikan setiap bulan. Ia dapat menapis pasaran yang berbelit-belit dan melabur dengan harga yang agak rendah. Ruang pengoptimuman kebanyakannya terletak pada teknik penyesuaian parameter dan stop loss. Secara keseluruhan ini adalah konsep strategi yang sangat baik untuk peruntukan aset tetap, yang patut diuji dan dipertingkatkan.


/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 1h
basePeriod: 15m
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/
// © BHD_Trade_Bot

// @version=5
// strategy(
//  shorttitle            = 'DCA After Downtrend',
//  title                 = 'DCA After Downtrend (by BHD_Trade_Bot)',
//  overlay               = true,
//  calc_on_every_tick    = true,
//  calc_on_order_fills   = true,
//  use_bar_magnifier     = true,
//  pyramiding            = 100,
//  initial_capital       = 0,
//  default_qty_type      = strategy.cash,
//  default_qty_value     = 1000,
//  commission_type       = strategy.commission.percent,
//  commission_value      = 0.1)



// Backtest Time Period
start_year   = input(title='Start year'   ,defval=2017)
start_month  = input(title='Start month'  ,defval=1)
start_day    = input(title='Start day'    ,defval=1)
start_time   = timestamp(start_year, start_month, start_day, 00, 00)

end_year     = input(title='end year'     ,defval=2050)
end_month    = input(title='end month'    ,defval=1)
end_day      = input(title='end day'      ,defval=1)
end_time     = timestamp(end_year, end_month, end_day, 23, 59)

window() => true



// EMA
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)

// EMA_CD
emacd = ema50 - ema200
emacd_signal = ta.ema(emacd, 20)
hist = emacd - emacd_signal

// Count n candles after x long entries
var int nPastCandles = 0
var int entryNumber = 0
nPastCandles := nPastCandles + 1



// ENTRY CONDITIONS

// 8 hours per day => 240 hours per month
entry_condition1 = nPastCandles > entryNumber * 240

// End of downtrend
entry_condition2 = ta.crossover(emacd, emacd_signal)

ENTRY_CONDITIONS = entry_condition1 and entry_condition2


if ENTRY_CONDITIONS and window()
    entryNumber := entryNumber + 1
    entryId = 'Long ' + str.tostring(entryNumber)
    strategy.entry(entryId, strategy.long)
    
    

// CLOSE CONDITIONS

// Last bar
CLOSE_CONDITIONS = barstate.islast

if CLOSE_CONDITIONS
    strategy.close_all()


    
// Draw
plot(ema50, color=color.orange, linewidth=3)
plot(ema200, color=entry_condition1 ? color.green : color.red, linewidth=3)


Lebih lanjut