Strategi Tren Turun Jangka Pendek Berdasarkan EMA dan Adaptive Fibonacci Retracement

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

Gambaran umum

Strategi ini menggunakan EMA untuk menentukan arah tren dan retracement Fibonacci adaptif untuk secara otomatis mengidentifikasi titik pembalikan, bertujuan untuk menjual tinggi dan membeli rendah dengan menangkap tren.

Logika Strategi

  1. Gunakan EMA 9 hari dan EMA 21 hari golden cross dan death cross untuk menentukan arah tren.

  2. Mengimplementasikan retracement Fibonacci adaptif dengan 100 periode untuk secara otomatis menentukan tingkat retracement kunci berdasarkan perubahan harga baru-baru ini.

  3. Penembusan harga 0,236 retracement Fibonacci menunjukkan pembalikan dan menutup posisi yang ada.

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

  5. Target keuntungan panjang adalah penyeberangan di atas EMA 200 hari. Stop loss pendek memecahkan retracement Fibonacci 0,236.

Keuntungan

  • EMA memberikan sinyal tren yang jelas, mudah diterapkan

  • Adaptif Fibonacci menghindari pengaturan parameter manual

  • Perdagangan sering menangkap gerakan jangka pendek untuk strategi frekuensi tinggi

  • Tingkat retracement utama untuk stop loss yang tepat waktu

  • Parameter yang dapat dikonfigurasi untuk optimasi lintas siklus

Risiko

  • Keterlambatan EMA membutuhkan konfirmasi dari indikator lain

  • Adaptive Fibonacci risiko overfit dengan tingkat yang tidak stabil

  • Perdagangan frekuensi tinggi meningkatkan biaya dari komisi dan slippage

  • Penyaringan yang tidak efektif dari tren yang terbatas pada kisaran mengarah pada sinyal palsu

  • Kebutuhan peningkatan dalam pengelolaan penggunaan dan pengendalian risiko-balasan

Peningkatan

  • Tambahkan indikator volume untuk menghindari sinyal palsu dari perbedaan harga-volume

  • Mengoptimalkan periode EMA agar lebih sesuai dengan kondisi pasar saat ini

  • Mengimplementasikan stop loss dinamis untuk pengendalian risiko yang lebih baik

  • Masukkan indeks kekuatan tren untuk menghindari whipsaws

  • Pertimbangkan dampak biaya perdagangan dan tetapkan target keuntungan minimum

Kesimpulan

Strategi ini mengidentifikasi arah tren dengan EMA dan menentukan tingkat pembalikan secara dinamis menggunakan retracement Fibonacci adaptif, yang secara otomatis beradaptasi dengan kondisi pasar yang berbeda. Namun, strategi ini lebih mengandalkan petunjuk indikator tanpa segmentasi tren dan logika Elliott Wave, yang meninggalkan ruang untuk optimalisasi. Secara keseluruhan, sebagai strategi perdagangan jangka pendek frekuensi tinggi, strategi ini dapat menangkap perubahan harga yang cepat tetapi melibatkan risiko sering stop loss dan overtrading yang perlu dikelola oleh pedagang.


/*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 banyak