Strategi ini adalah strategi perdagangan algoritmik yang mengikuti tren. Ini menghitung dua garis EMA dengan parameter yang berbeda dan menghasilkan sinyal perdagangan ketika Golden Cross dan Death Cross terjadi antara dua EMA. Strategi ini juga menggabungkan beberapa garis EMA untuk keluar keuntungan dan menetapkan titik stop loss untuk mengendalikan risiko.
Strategi ini menggunakan 4 garis EMA, termasuk EMA cepat dan EMA lambat, yang silangannya digunakan untuk menghasilkan sinyal beli dan jual.
Secara khusus, ketika EMA cepat melintasi di atas EMA lambat, sinyal beli dihasilkan. Ketika EMA cepat melintasi di bawah EMA lambat, sinyal jual dihasilkan. Ini adalah strategi crossover dual-EMA yang khas. Untuk melacak tren dengan lebih baik dan meningkatkan profitabilitas, setelah memasuki posisi, strategi akan secara selektif keluar sebagian atau seluruh posisi ketika EMA cepat melintasi di atas garis EMA kedua atau ketika EMA cepat melintasi di bawah garis EMA ketiga.
Selain itu, strategi menetapkan titik stop loss panjang dan pendek untuk mencegah kerugian yang berlebihan. khususnya, stop loss untuk posisi panjang ditetapkan pada 6% dari harga masuk, dan 3% untuk posisi pendek.
Dibandingkan dengan strategi crossover dual-EMA yang khas, keuntungan utama dari strategi ini meliputi:
Menetapkan beberapa garis EMA untuk keluar keuntungan dapat lebih mengunci keuntungan dan mencegah penyusutan keuntungan selama penarikan berikutnya.
Posisi pendek memiliki stop loss yang lebih kecil, yang dapat menahan fluktuasi pasar normal yang lebih besar dan mencegah stop loss yang sering.
Menetapkan garis EMA dengan parameter yang berbeda untuk keluar keuntungan memungkinkan memilih titik keluar optimal berdasarkan kondisi pasar.
Strategi keseluruhan memiliki kemampuan mengikuti tren yang baik untuk menangkap keuntungan yang lebih besar dari tren jangka menengah hingga panjang.
Risiko utama dari strategi ini meliputi:
Di pasar yang terikat rentang, sinyal perdagangan yang dihasilkan oleh garis EMA sering terjadi, yang dapat menyebabkan over-trading.
Stop loss pendek hanya dapat mencegah kondisi pasar yang ekstrem dan tidak dapat mencegah penarikan yang signifikan dalam akun strategi.
Risiko penarikan masih ada. keuntungan dapat menyusut secara signifikan ketika penyesuaian jangka panjang terjadi.
Strategi ini sensitif terhadap pengaturan parameter. Konfigurasi yang tidak benar dapat menyebabkan kegagalan strategi.
Mengingat risiko di atas, strategi dapat dioptimalkan dalam aspek berikut:
Meningkatkan algoritma pembelajaran mesin untuk membantu penilaian tren dan mengurangi kemungkinan perdagangan yang salah.
Meningkatkan mekanisme stop loss adaptif untuk menyesuaikan stop loss secara dinamis berdasarkan volatilitas pasar.
Atur pemanfaatan modal untuk menghindari pekerjaan modal yang berlebihan dan meningkatkan mekanisme manajemen posisi.
Pilih produk perdagangan dengan tren yang jelas dan fluktuasi tinggi.
Tingkatkan modul optimasi parameter untuk mencapai optimasi otomatis dan pembaruan parameter.
Secara keseluruhan, strategi crossover dual-EMA adalah strategi trend-following yang hemat biaya. Ini memiliki keuntungan seperti beberapa garis EMA untuk mengambil keuntungan, short stop kecil, dan kemampuan trend-following yang baik. Namun, masih ada beberapa risiko dengan strategi ini. Ini membutuhkan optimasi penyesuaian parameter lebih lanjut dan penggabungan algoritma pembelajaran mesin untuk meningkatkan stabilitas. Secara umum, strategi ini cocok untuk investor dengan beberapa pengalaman perdagangan untuk melakukan perdagangan algoritma.
/*backtest start: 2023-02-19 00:00:00 end: 2024-02-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © RealTraderAkeme //@version=5 strategy("AKEME_EMA_CROSS_V6", overlay=true) ////////////////////////////////////////////////////////////PARAMETERS///////////////////////////////////////////////////////////////// emaFast_op = input(title="Fast_EMA", defval=6) emaSlow_op = input(title="Slow_EMA", defval=26) emaExit_op = input(title="Sell_EMA_Exit",defval=10) emabuyExit_op = input(title="Buy_EMA_Exit",defval=20) Order_Value = input(defval=1000, title="Order_Value in Pounds") Direction_Of_Trade = input(title="Trade Direction", defval="Both") ////////////////////////////////////////////////////////////INPUTS////////////////////////////////////////////////////////////////// fastEMA = ta.ema(close, emaFast_op) slowEMA = ta.ema(close,emaSlow_op) emaExit = ta.ema(close,emaExit_op) emabuyExit = ta.ema(close,emabuyExit_op) Entry_Ratio = strategy.openprofit/Order_Value //////////////////////////////////////////////////////////GRAPHS////////////////////////////////////////////////////////////////// plot(fastEMA, color=color.orange, linewidth = 2) plot(slowEMA,color = color.blue, linewidth = 2) plot(emaExit,color = color.gray, linewidth = 2) plot(series=emabuyExit, color= color.rgb(210, 74, 235), linewidth=2) /////////////////////////////////////////////////////Conditions////////////////////////////////////////////////////////////////////// longOK = (Direction_Of_Trade == "Long") or (Direction_Of_Trade == "Both") shortOK = (Direction_Of_Trade == "Short") or (Direction_Of_Trade == "Both") ///////////////////////////////////////////////////////////ENTRIES&EXITS/////////////////////////////////////////////////////////////// longCondition = ta.crossover(fastEMA, slowEMA) and longOK if (longCondition) strategy.entry("Buy", strategy.long) shortCondition = ta.crossunder(fastEMA, slowEMA) and shortOK if (shortCondition) strategy.entry("Sell", strategy.short) if (strategy.position_size > 0 and shortCondition) strategy.exit(id="exit Buy", stop=close) if (strategy.position_size < 0 and longCondition) strategy.exit(id="exit Sell", stop=close) /////////////////////////////////////////////////////TAKE PROFIT CONDITIONS//////////////////////////////////////////////////////// if ta.crossunder(fastEMA, emabuyExit) and Entry_Ratio > 0.08333 strategy.close("Buy",comment = "Exit") if ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.016666 strategy.close("Sell",comment = "Exit") if Entry_Ratio > 0.4166666 //0.4166666 strategy.close("Buy",comment = "Exit", qty_percent = 100) if Entry_Ratio > 0.0833333//0.0833333 strategy.close("Sell",comment = "Exit")//50 if Entry_Ratio > 0.1111111//4000 strategy.close("Sell",comment = "Exit", qty_percent = 50) if ta.crossover(fastEMA, emaExit) and Entry_Ratio > 0.278 //Percentage strategy.close("Sell",comment = "Exit") ////////////////////////////////////////////STOP LOSS AS PERCENTAGE OF ENTRY CONDITIONS/////////////////////////////////////////// if Entry_Ratio < -0.05555555555 strategy.close("Buy",comment = "Exit") if Entry_Ratio < -0.027777777777 strategy.close("Sell",comment = "Exit")// The Sell Stoloss is half the buying stoploss.