Strategi DCA pembalikan akhir bulan


Tanggal Pembuatan: 2023-10-08 16:12:29 Akhirnya memodifikasi: 2023-10-08 16:12:29
menyalin: 1 Jumlah klik: 734
1
fokus pada
1617
Pengikut

Ringkasan

Tujuan dari strategi ini adalah untuk mengidentifikasi titik akhir dari penurunan jangka pendek aset, dan pada titik itu tetap berinvestasi dalam jumlah tertentu untuk membeli aset. Dengan demikian, investasi tetap dapat dilakukan dengan harga biaya yang lebih rendah setelah mulai berbaliknya aset.

Prinsip

Strategi ini didasarkan pada operasi kerangka waktu bulanan. Ada 240 K-line 1 jam per bulan yang digunakan untuk menentukan kapan tren akan berbalik.

Secara khusus, strategi EMA dengan menghitung perbedaan antara EMA garis cepat dan EMA garis lambat_CD dan EMA_Garis sinyal CD, ketika melewati garis sinyal pada garis cepat, memutuskan bahwa tren turun jangka pendek berakhir, dan mengirimkan sinyal beli.

Setelah sinyal beli dipancarkan, strategi ini akan dihapus pada akhir bulan tersebut. Kemudian ulangi proses ini pada bulan kedua, secara teratur beli dan tahan selama satu bulan.

Hal ini memungkinkan kita untuk menghirup lebih sedikit pada akhir penurunan jangka pendek dan tetap fokus.

Keunggulan

Keuntungan terbesar dari strategi ini adalah bahwa Anda dapat menyaring pergerakan yang bergoyang dan hanya membeli pada titik balik tren, sehingga Anda tetap berinvestasi dengan harga yang lebih baik.

Selain itu, menggunakan EMA untuk menentukan titik balik tren, dapat lebih stabil dan akurat daripada hanya berdasarkan K-line reversal. EMA dapat meratakan dampak kebisingan pasar jangka pendek pada waktu pembelian.

Terakhir, pengaturan stop loss di akhir bulan dapat mengunci kinerja investasi setiap bulan, membatasi kerugian maksimum per bulan.

Risiko

Risiko terbesar dari strategi ini adalah bahwa harga terus turun setelah pembelian, menyebabkan kerugian berhenti pada akhir bulan. Hal ini biasanya disebabkan oleh kesalahan penghakiman yang berbalik.

Anda dapat mengoptimalkan penilaian dengan menyesuaikan parameter siklus EMA, atau mengkonfirmasi sinyal reversal dengan indikator lain seperti RSI.

Risiko lain adalah pengaturan stop loss. Stop loss yang terlalu kecil dapat terganggu oleh fluktuasi jangka pendek, dan terlalu besar tidak dapat membatasi kerugian. Perlu menguji berbagai stop loss untuk menemukan parameter yang optimal.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Mengoptimalkan parameter siklus EMA untuk menemukan kombinasi parameter optimal untuk menentukan pembalikan tren

  2. Menambahkan filter indikator lain, seperti RSI, untuk mengkonfirmasi sinyal reversal

  3. Uji coba berbagai titik berhenti untuk menemukan posisi berhenti optimal yang membatasi kerugian maksimum dan tidak di-arbitrage

  4. Anda dapat mempertimbangkan untuk menambahkan stop loss bergerak berdasarkan stop loss, menyesuaikan posisi stop loss secara real-time sesuai dengan harga.

  5. Anda dapat menguji periode waktu yang berbeda, seperti garis matahari, operasi garis lingkar, untuk melihat periode mana strategi ini bekerja paling baik

Meringkaskan

Strategi ini secara keseluruhan ide yang jelas dan sederhana, dengan indikator EMA menilai short-term trend reversal, dan di akhir titik reversal penyetelan investasi, dapat secara efektif memfilter pasar goyah, dengan harga yang lebih rendah penyetelan investasi. Optimasi strategi ruang terutama dalam parameter optimasi dan stop loss strategi penyesuaian. Secara keseluruhan, strategi ini adalah strategi yang baik untuk penyetelan aset tetap, layak untuk tes lebih lanjut optimasi.

Kode Sumber Strategi
/*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)