
Strategi ini adalah strategi perdagangan algoritmik trend-following yang menghasilkan sinyal perdagangan dengan menghitung EMA rata-rata dua parameter yang berbeda, dan mengirimkan sinyal perdagangan ketika golden cross (Gold Cross) dan death cross (Death Cross) terjadi. Strategi ini menggabungkan beberapa EMA rata-rata untuk keluar dari keuntungan sekaligus, dan menetapkan stop loss untuk mengendalikan risiko.
Strategi ini menggunakan 4 garis rata-rata EMA, terdiri dari satu set garis rata-rata EMA cepat dan EMA lambat, yang persimpangan mereka digunakan untuk menghasilkan sinyal beli dan jual. Selain itu, strategi ini juga menggunakan dua garis rata-rata EMA antara parameter EMA cepat dan EMA lambat untuk keluar dari posisi lebih awal, sebagian atau seluruhnya, untuk mengunci keuntungan.
Secara khusus, ketika EMA cepat melewati EMA lambat, sinyal beli dihasilkan; ketika EMA cepat melewati EMA lambat, sinyal jual dihasilkan. Ini adalah strategi crossover rata-rata bergerak EMA ganda yang khas. Untuk lebih baik melacak tren dan meningkatkan margin, strategi ini akan masuk ke posisi setelah memasuki EMA cepat melewati EMA rata-rata kedua atau EMA cepat melewati EMA rata-rata ketiga, secara selektif keluar sebagian atau seluruh posisi.
Selain itu, strategi ini juga menetapkan dua titik stop loss untuk garis panjang dan garis pendek untuk mencegah kerugian berkembang. Secara khusus, stop loss ganda ditetapkan sebagai 6% dari harga masuk dan stop loss tunggal ditetapkan sebagai 3% dari harga masuk.
Keuntungan utama dari strategi ini dibandingkan dengan strategi crossover rata-rata bergerak EMA ganda yang khas adalah:
Mengatur beberapa EMA rata-rata untuk keuntungan keluar, Anda dapat lebih baik mengunci keuntungan, mencegah keuntungan menyusut dalam penyesuaian berikutnya.
Posisi kosong memiliki stop loss yang lebih kecil, yang dapat menanggung lebih banyak kejutan normal, dan mencegah stop loss yang sering terjadi.
Dengan pengaturan parameter EMA rata-rata yang berbeda untuk keluar menguntungkan, Anda dapat memilih titik keluar yang optimal sesuai dengan kondisi pasar.
Strategi holistik memiliki kemampuan pelacakan tren yang lebih baik untuk menangkap keuntungan dari tren garis tengah dan panjang.
Beberapa risiko utama dari strategi ini adalah:
Dalam situasi yang bergejolak, sinyal perdagangan yang dihasilkan oleh EMA rata-rata sering dan mudah menghasilkan overtrading.
Stop loss hanya dapat mencegah situasi ekstrem dan tidak dapat mencegah penarikan besar-besaran dari akun strategi.
Risiko untuk mundur dari strategi ini masih ada, dan keuntungan dapat dikurangi secara signifikan jika terjadi penyesuaian jangka panjang.
Kebijakan ini sangat sensitif terhadap perubahan parameter, dan konfigurasi yang tidak tepat dapat menyebabkan kebijakan gagal.
Mengingat risiko yang disebutkan di atas, strategi ini dapat dioptimalkan dalam beberapa hal:
Menambahkan algoritma pembelajaran mesin untuk membantu menilai tren dan mengurangi kemungkinan kesalahan transaksi.
Menambahkan mekanisme stop loss yang dapat menyesuaikan stop loss secara dinamis sesuai dengan tingkat fluktuasi pasar.
Menetapkan tingkat pemanfaatan dana, menghindari akun strategi yang terlalu banyak digunakan, dan meningkatkan mekanisme manajemen posisi.
Pemilihan varietas perdagangan, memilih tren yang jelas, perdagangan dengan indikator yang lebih berfluktuasi
Tambahkan modul optimasi parameter, optimasi dan pembaruan parameter secara otomatis.
Strategi crossover EMA bergerak ganda secara keseluruhan adalah strategi pelacakan tren yang relatif hemat biaya. Ini memiliki keuntungan seperti pengaturan beberapa rata-rata EMA untuk keluar dari keuntungan, stop loss kecil, dan kemampuan pelacakan tren yang kuat. Namun, strategi ini juga memiliki risiko tertentu, yang memerlukan penyesuaian parameter untuk dioptimalkan, dan membantu meningkatkan stabilitas strategi lebih lanjut dengan algoritma pembelajaran mesin dan lain-lain. Secara keseluruhan, strategi ini cocok untuk investor yang memiliki pengalaman perdagangan tertentu untuk melakukan perdagangan algoritmik.
/*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.