Sumber daya yang dimuat... Pemuatan...

EMA Reverse Buy-Sell Strategi

Penulis:ChaoZhang, Tanggal: 2023-11-28 16:54:14
Tag:

img

Gambaran umum

Ini adalah strategi mengikuti tren berdasarkan garis EMA. Ini menggunakan dua garis EMA dengan periode yang berbeda, 21 dan 55. Ketika garis EMA yang lebih cepat melintasi di atas garis EMA yang lebih lambat, sinyal beli dihasilkan. Ketika EMA yang lebih cepat melintasi di bawah yang lebih lambat, sinyal jual dihasilkan.

Selain itu, strategi ini menggabungkan reverse trading, ATR stop loss, dan reversal take profit untuk meningkatkan stabilitas dan profitabilitasnya.

Logika Strategi

  1. Gunakan garis EMA periode 21 dan 55.

  2. Ketika 21 EMA melintasi di atas 55 EMA, ini menunjukkan perubahan tren jangka pendek ke atas, menghasilkan sinyal beli.

  3. Ketika 21 EMA melintasi di bawah 55 EMA, ini menunjukkan tren jangka pendek berbalik ke bawah, menghasilkan sinyal jual.

  4. Reverse trading: hanya membeli ketika harga di bawah harga buka, dan hanya menjual ketika harga di atas harga buka.

  5. ATR stop loss: gunakan N kali ATR untuk mengatur harga stop loss. Ini secara dinamis menyesuaikan stop loss berdasarkan volatilitas pasar.

  6. Reversal take profit: gunakan harga masuk dikurangi N kali ATR sebagai target keuntungan.

Keuntungan dari Strategi

  1. Mencatatkan tren jangka menengah hingga panjang menggunakan EMA ganda.

  2. Perdagangan terbalik cocok untuk perdagangan pullback jangka pendek dari tren.

  3. ATR berhenti menyesuaikan dengan volatilitas pasar.

  4. Pembalikan mengambil keuntungan berada di dekat tingkat teknis penting dengan probabilitas yang lebih tinggi.

  5. Logika yang sederhana dan jelas, mudah dimengerti dan dimodifikasi.

  6. Terapan untuk pasar volatilitas tinggi seperti cryptocurrency.

Risiko dan Solusi

  1. EMA ganda dapat menghasilkan sinyal palsu.

  2. Perdagangan terbalik cenderung untuk stop loss.

  3. Lolos palsu terjadi sering. tambahkan filter lain.

  4. Berisiko tinggi untuk mengambil keuntungan, hapus secara manual perintah mengambil keuntungan tepat waktu.

Saran Optimalisasi

  1. Tambahkan indikator seperti MACD, KD untuk menyaring sinyal di zona overbought/oversold.

  2. Tambahkan lebih banyak EMA seperti EMA periode 120 untuk menilai tren secara komprehensif.

  3. Atur slippage yang berbeda untuk panjang dan pendek untuk harga masuk yang lebih baik.

  4. Perlahankan ATR stop loss untuk perdagangan crypto yang sangat volatile.

  5. Mengoptimalkan mekanisme ATR multiplier dan trailing stop untuk keuntungan maksimum dan penarikan minimum.

Kesimpulan

Kesimpulannya, ini adalah strategi dua arah EMA yang relatif sederhana. Kekuatannya terletak pada logika yang bersih, parameter yang fleksibel, penerapannya dalam tren jangka menengah hingga jangka panjang dan pembalikan jangka pendek. Kami juga menganalisis kelemahan dan solusi potensialnya, bersama dengan beberapa rekomendasi untuk perbaikan di masa depan. Secara keseluruhan, strategi ini praktis sampai batas tertentu dan memiliki ruang untuk berkembang, tetapi parameternya membutuhkan penyesuaian untuk pasar yang berbeda.


/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
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/
// © TheHulkTrading

// Simple EMA strategy, based on ema55+ema21 and ATR(Average True Range) and it enters a deal from ema55 when the other entry conditions are met


//@version=4
strategy("Simple Ema_ATR Strategy HulkTrading", overlay=true)

atr_multiplier = input(2, minval=1, title="ATR Multiplier") // ATR Multiplier. Recommended values between 1..4


emaFast=ema(close,21)
emaSlow=ema(close,55)

//Basically long and short conditions

//If long: 
// 1) close must be less than open (because we are searching for a pullback)
// 2) emaFast(21) must be bigger than emaSlow(55) - for a trend detection
// 3) Difference between emaFast and emaSlow must be greater than ATR(14) - for excluding flat
longCond = close < open and emaFast > emaSlow and abs(emaSlow-emaFast) > atr(14)  

//For short conditions are opposite
shortCond = close > open and emaFast < emaSlow and abs(emaSlow-emaFast) > atr(14) 

//Stop levels and take profits, based on ATR multiplier

stop_level_long = strategy.position_avg_price - atr_multiplier*atr(14)
take_level_long = strategy.position_avg_price + atr_multiplier*atr(14)
stop_level_short = strategy.position_avg_price + atr_multiplier*atr(14)
take_level_short = strategy.position_avg_price - atr_multiplier*atr(14)


//Entries and exits 
strategy.entry("Long", strategy.long, when=longCond, limit = emaSlow)
strategy.exit("Stop Loss/TP","Long", stop=stop_level_long, limit = take_level_long)
strategy.entry("Short", strategy.short, when=shortCond, limit = emaSlow)
strategy.exit("Stop Loss/TP","Short", stop=stop_level_short, limit = take_level_short)



Lebih banyak