Strategi Pelacakan Double EMA Golden Cross dan Death Cross


Tanggal Pembuatan: 2023-11-13 17:35:14 Akhirnya memodifikasi: 2023-11-13 17:35:14
menyalin: 0 Jumlah klik: 681
1
fokus pada
1617
Pengikut

Strategi Pelacakan Double EMA Golden Cross dan Death Cross

Ringkasan

Strategi ini adalah strategi pelacakan tren dengan menghitung EMA garis cepat dan EMA garis lambat, dan membandingkan hubungan ukuran keduanya, untuk mencapai sinyal perdagangan forks emas dan forks mati dari dua EMA. Strategi pelacakan tren sederhana dicapai dengan menghasilkan sinyal beli ketika garis cepat melewati garis lambat dan menghasilkan sinyal jual ketika garis cepat melewati garis lambat.

Prinsip Strategi

Logika inti dari strategi ini terdiri dari beberapa bagian:

  1. Hitung EMA garis cepat dan EMA garis lambat: Hitung EMA garis cepat dengan panjang fastInput dan EMA garis lambat dengan panjang slowInput melalui fungsi ta.ema (().

  2. Pengaturan jangka waktu pengembalian: Pengaturan filter waktu pengembalian dengan parameter useDateFilter, pengaturan backtestStartDate dan backtestEndDate untuk waktu awal dan akhir pengembalian.

  3. Menciptakan sinyal perdagangan: dengan fungsi ta.crossover ()) dan ta.crossunder ()) dibandingkan dengan EMA garis cepat dan EMA garis lambat, menghasilkan sinyal beli ketika melewati garis lambat di garis cepat, menghasilkan sinyal jual ketika melewati garis lambat di bawah garis cepat.

  4. Pengolahan order di luar jangka waktu: di luar jangka waktu pengukuran akan membatalkan pesanan yang belum ditransfer dan meratakan semua posisi.

  5. Menggambar Moving Average: Menggambar moving average dari EMA garis cepat dan EMA garis lambat pada grafik.

Keunggulan Strategis

Ini adalah strategi pelacakan tren yang sangat sederhana dengan beberapa keuntungan:

  1. Logika strategi sederhana, mudah dipahami dan diterapkan.

  2. EMA meluruskan data harga untuk mengurangi noise trading.

  3. Parameter siklus EMA dapat disesuaikan untuk menyesuaikan dengan kondisi pasar yang berbeda.

  4. Fleksibilitas pengaturan jangka waktu pengembalian, untuk melakukan tes pada jangka waktu tertentu.

  5. Kondisi masuk dan keluar dapat dioptimalkan, dikombinasikan dengan indikator lainnya.

Analisis risiko

Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:

  1. Strategi double EMA lebih kasar dan tidak fleksibel dalam menanggapi perubahan pasar.

  2. Ada risiko transaksi yang sering dan berulang.

  3. Setting parameter EMA yang tidak tepat dapat menyebabkan kesalahan sinyal perdagangan.

  4. Rentang waktu yang tidak masuk akal dapat menyebabkan overfitting.

  5. Ada risiko penarikan dan kerugian yang tidak dapat dihindari.

Risiko dapat dikendalikan dengan cara mengoptimalkan parameter, memfilter fluktuasi yang tepat, dan mengatur stop loss.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Optimalkan parameter siklus EMA, pilih kombinasi parameter terbaik.

  2. Menambahkan filter untuk indikator lain untuk menghindari transaksi yang tidak perlu.

  3. Meningkatkan strategi stop loss dan mengendalikan kerugian tunggal.

  4. Filter, seperti tren, fluktuasi, dan lain-lain, mengurangi frekuensi transaksi.

  5. Uji kontrak varietas yang berbeda untuk mencari strategi yang paling tepat.

  6. Menggunakan slider, biaya kontrol, dan lain-lain untuk membuat pengukuran lebih realistis.

Meringkaskan

Strategi ini secara keseluruhan adalah strategi EMA ganda yang sangat sederhana, logika yang jelas dan mudah dimengerti, menghasilkan sinyal perdagangan melalui perbandingan EMA jalur cepat dan lambat. Keunggulan strategi ini adalah implementasi yang sederhana, tetapi juga ada beberapa masalah seperti perdagangan yang sering, mudah menyebabkan overoptimasi, dll. Langkah berikutnya dapat diperbaiki dari aspek optimasi parameter, kontrol risiko, dll, sehingga strategi lebih kuat dan praktis.

Kode Sumber Strategi
/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=5
strategy("MollyETF_EMA_Crossover", overlay = true, initial_capital = 100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)

fastInput = input( 10, "Fast EMA")
slowInput = input( 21, "Slow EMA")

// Calculate two moving averages with different lengths.
float fastMA = ta.ema(close, fastInput)
float slowMA = ta.ema(close, slowInput)


// STEP 1. Create inputs that configure the backtest's date range
useDateFilter = input.bool(true, title="Filter Date Range of Backtest",
     group="Backtest Time Period")
backtestStartDate = input(timestamp("1 Jan 2018"), 
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " +  
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("7 Sep 2023"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")

// STEP 2. See if current bar falls inside the date range
inTradeWindow = true

// STEP 3. Include the date filter with the entry order conditions

// Enter a long position when `fastMA` crosses over `slowMA`.
if inTradeWindow and ta.crossover(fastMA, slowMA)
    strategy.entry("buy", strategy.long)

// Enter a short position when `fastMA` crosses under `slowMA`.
if inTradeWindow and ta.crossunder(fastMA, slowMA)
    strategy.close_all(comment="sell")

// STEP 4. With the backtest date range over, exit all open
// trades and cancel all unfilled pending orders
if not inTradeWindow and inTradeWindow[1]
    strategy.cancel_all()
    strategy.close_all(comment="Date Range Exit")

// Plot the moving averages.
plot(fastMA, "Fast MA", color.aqua)
plot(slowMA, "Slow MA", color.orange)