Strategi Trend Turun Jangka Pendek Berdasarkan EMA dan Retracement Fibonacci Beradaptasi

Penulis:ChaoZhang, Tarikh: 2023-09-21 21:36:16
Tag:

Ringkasan

Strategi ini menggunakan EMA untuk menentukan arah trend dan retracement Fibonacci adaptif untuk mengenal pasti titik pembalikan secara automatik, bertujuan untuk menjual tinggi dan membeli rendah dengan menangkap trend.

Logika Strategi

  1. Gunakan EMA 9 hari dan EMA 21 hari silang emas dan silang kematian untuk menentukan arah trend.

  2. Melaksanakan retracement Fibonacci adaptif dengan 100 tempoh untuk menentukan tahap retracement utama secara automatik berdasarkan perubahan harga baru-baru ini.

  3. Penembusan harga 0.236 retracement Fibonacci menunjukkan pembalikan dan menutup kedudukan sedia ada.

  4. Apabila EMA 9 hari melintasi di bawah EMA 21 hari, dan harga lebih rendah daripada adaptif Fibonacci tinggi, pergi pendek.

  5. Sasaran keuntungan panjang adalah persimpangan di atas EMA 200 hari.

Kelebihan

  • EMA memberikan isyarat trend yang jelas, mudah dilaksanakan

  • Fibonacci adaptif mengelakkan penyesuaian parameter manual

  • Perdagangan kerap menangkap pergerakan jangka pendek untuk strategi frekuensi tinggi

  • Tahap utama retracement untuk stop loss tepat pada masanya

  • Parameter yang boleh dikonfigurasi untuk pengoptimuman merentasi kitaran

Risiko

  • Kelewatan EMA memerlukan pengesahan daripada penunjuk lain

  • Adaptive Fibonacci risiko terlalu sesuai dengan tahap yang tidak stabil

  • Perdagangan frekuensi tinggi meningkatkan kos daripada komisen dan slippage

  • Penapisan yang tidak berkesan terhadap trend terhad kepada julat membawa kepada isyarat palsu

  • Perlu penambahbaikan dalam pengurusan pengambilan dan kawalan risiko-imbalan

Peningkatan

  • Tambah penunjuk jumlah untuk mengelakkan isyarat palsu dari perbezaan harga-volume

  • Mengoptimumkan tempoh EMA untuk lebih sesuai dengan keadaan pasaran semasa

  • Melaksanakan stop loss dinamik untuk kawalan risiko yang lebih baik

  • Masukkan indeks kekuatan trend untuk mengelakkan whipsaws

  • Pertimbangkan kesan kos dagangan dan tetapkan sasaran keuntungan minimum

Kesimpulan

Strategi ini mengenal pasti arah trend dengan EMA dan menentukan tahap pembalikan secara dinamik menggunakan retracement Fibonacci adaptif, yang menyesuaikan diri dengan keadaan pasaran yang berbeza secara automatik. Tetapi ia lebih bergantung pada isyarat petunjuk tanpa segmen trend dan logik Gelombang Elliott, meninggalkan ruang untuk pengoptimuman. Secara keseluruhan, sebagai strategi perdagangan jangka pendek frekuensi tinggi, ia dapat menangkap perubahan harga yang cepat tetapi melibatkan risiko kehilangan berhenti yang kerap dan overtrading yang perlu diuruskan oleh peniaga.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 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/
// © CheatCode1

//@version=5
strategy("CC-Trend strategy 2", overlay=true, initial_capital = 10000, commission_type = strategy.commission.percent, commission_value = 0.01, default_qty_type =  strategy.percent_of_equity, default_qty_value = 100 )
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
ema55 = ta.ema(close, 55)
ema200 = ta.ema(close, 200)


plot(ema200, '22', color.blue, 2)

FibL = input.int(100, 'Fibonacci Length', 1, 500, group = 'Automatic Fibonacci Retracement')
len1 = input.int(1, 'Show Last', 0, 1000, group = 'Automatic Fibonacci Retracement')
len2 = input.int(5, 'Offset Length', 0, 1000, group = 'Automatic Fibonacci Retracement')

highF = ta.highest(ema55 >= ema9 ? ema55:ema9, FibL)
lowF = ta.lowest(ema55 >= ema9 ? ema9:ema55, FibL)
AvgFib = highF - lowF

//Fibonacci Executions
LL2 = highF + .618 * AvgFib
LL1 = highF + .272 * AvgFib
L1 = highF
L236 = highF - 0.236 * AvgFib
L382 = highF - 0.382 * AvgFib
Mid =  highF - 0.50 * AvgFib
S382 = lowF + 0.382 * AvgFib
S236 = lowF + 0.236 * AvgFib
S1 = lowF
SS1 = lowF - .272 * AvgFib
SS2 = lowF - .618 * AvgFib
//Fibonacci Plot's


high2FP = plot(LL2, 'Highe2', color.red,offset = len2, show_last = len1, trackprice = true)
high1FP = plot(LL1, 'Highe1', color.red,offset = len2, show_last = len1, trackprice = true)
highFP = plot(highF, 'High', color.red,offset = len2, show_last = len1, trackprice = true)
L236P = plot(L236, "0.764", #ED381C, offset = len2, show_last = len1, trackprice = true )
L382P = plot(L382, "0.618", color.white,offset = len2, show_last = len1, trackprice = true )
MidP = plot(Mid, "0.5", color.orange,offset = len2, show_last = len1, trackprice = true )
S382P = plot(S382, "0.382", color.yellow ,offset = len2, show_last = len1, trackprice = true)
S236P = plot(S236, "0.236", color.lime ,offset = len2, show_last = len1, trackprice = true)
lowFP = plot(lowF, 'Low', color.green,offset = len2, show_last = len1, trackprice = true)
low1FP = plot(SS1, 'Lowe1', color.green,offset = len2, show_last = len1, trackprice = true)
low2FP = plot(SS2, 'Lowe2', color.green,offset = len2, show_last = len1, trackprice = true)

plot(ema9, '22', color.yellow, 2)

plot(ema55, '55', color.aqua, 2)

plot(ema200, '200', color.maroon, 2)



shortCondition = close[1] < highF and ema21 < ema55
if (shortCondition)
    strategy.entry("Short", strategy.short)

shorttp = ta.crossover(close, ema200) and strategy.openprofit >= 0
if (shorttp)
    strategy.close('Short', 'Short TP', qty_percent = 100)

shortclose2 = close[1] > L236 and not (shortCondition) 
if(shortclose2)
    strategy.close('Short', 'Short RM', qty_percent = 100)

Lebih lanjut