Tujuan strategi ini adalah untuk mengenal pasti titik akhir trend penurunan jangka pendek aset, dan pada titik itu tetap melabur dalam jumlah tertentu untuk membeli aset. Oleh itu, pelaburan tetap dapat dilakukan dengan harga kos yang lebih rendah setelah permulaan pembalikan aset.
Strategi ini adalah berdasarkan operasi bingkai masa bulanan. Terdapat 240 garis K 1 jam setiap bulan untuk menentukan masa pembalikan trend.
Khususnya, strategi EMA dengan mengira perbezaan antara garis EMA cepat dan garis EMA lambat_CD dan EMA_Garis isyarat CD, apabila ia melewati garis isyarat pada garisan pantas, ia akan menentukan bahawa aliran menurun jangka pendek telah berakhir, dan ia akan menghantar isyarat beli.
Selepas isyarat beli dikeluarkan, strategi akan dipadamkan pada akhir bulan tersebut. Kemudian proses ini diulang pada bulan kedua, membeli secara berkala dan memegang selama sebulan.
Ini membolehkan kita untuk bernafas rendah pada akhir kejatuhan jangka pendek, dan menetapkan pelaburan.
Kelebihan utama strategi ini ialah ia boleh menyaring pergerakan yang bergolak dan hanya membeli pada titik perubahan trend, untuk menetapkan pelaburan pada harga yang lebih baik.
Di samping itu, EMA boleh digunakan untuk menentukan titik-titik perubahan trend yang lebih stabil dan tepat daripada hanya berdasarkan perubahan garis K. EMA dapat menebus kesan bunyi pasaran jangka pendek pada masa pembelian.
Akhir sekali, penempatan stop loss pada penghujung bulan boleh mengunci prestasi pelaburan setiap bulan dan mengehadkan kerugian maksimum dalam satu bulan.
Risiko terbesar dalam strategi ini ialah harga terus menurun selepas pembelian, menyebabkan kerugian berhenti pada akhir bulan. Keadaan ini biasanya disebabkan oleh kesalahan penghakiman.
Ia boleh dioptimumkan dengan menyesuaikan parameter kitaran EMA, atau digabungkan dengan indikator lain seperti RSI untuk mengesahkan isyarat pembalikan.
Risiko lain ialah penyetempatan titik hentian. Titik hentian yang terlalu kecil mudah ditutup oleh turun naik jangka pendek, dan terlalu besar tidak dapat mengehadkan kerugian. Perlu menguji pelbagai titik hentian untuk mencari parameter terbaik.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Mengoptimumkan parameter kitaran EMA untuk mencari kombinasi parameter terbaik untuk menentukan pembalikan trend
Tambah penapis untuk indikator lain seperti RSI untuk mengesahkan isyarat pembalikan
Uji titik-titik berhenti yang berbeza untuk mencari titik-titik berhenti yang optimum yang mengehadkan kerugian maksimum dan tidak dilabel
Anda boleh mempertimbangkan untuk menambah stop loss bergerak pada asas stop loss, menyesuaikan kedudukan stop loss dalam masa nyata mengikut harga
Anda boleh menguji tempoh masa yang berbeza, seperti operasi garis matahari dan garis pusingan, untuk melihat tempoh mana strategi ini berfungsi dengan baik
Idea keseluruhan strategi ini jelas dan mudah, dengan menentukan pembalikan trend jangka pendek melalui indikator EMA, dan menetapkan pelaburan pada akhir titik pembalikan, dapat menyaring pasaran yang bergolak dengan berkesan, dengan pelaburan harga yang lebih rendah. Ruang pengoptimuman strategi adalah terutamanya dalam pengoptimuman parameter dan penyesuaian strategi hentikan kerugian. Secara keseluruhan, strategi ini adalah strategi yang baik untuk penempatan aset tetap, yang layak untuk diuji dan dioptimumkan lebih lanjut.
/*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)