Strategi Persilangan EMA Pelarian Penyu


Tarikh penciptaan: 2023-11-07 15:40:08 Akhirnya diubah suai: 2023-11-07 15:40:08
Salin: 0 Bilangan klik: 619
1
fokus pada
1617
Pengikut

Strategi Persilangan EMA Pelarian Penyu

Gambaran keseluruhan

Strategi ini menggunakan garis purata EMA dari dua tempoh yang berbeza untuk menilai pembalikan trend melalui persimpangan mereka, untuk memberi isyarat masuk dan keluar. Strategi ini mudah difahami dan mudah dikendalikan.

Prinsip Strategi

Strategi ini menggunakan fungsi ta.ema untuk mengira dua garis rata-rata EMA, satu dengan panjang 10 kitaran dan satu dengan panjang 20 kitaran, yang mewakili trend jangka pendek dan jangka panjang. Kode ini menilai persilangan dua EMA melalui ta.crossover dan ta.crossunder, melakukan lebih banyak apabila melalui EMA jangka panjang pada EMA jangka pendek dan kosong apabila melalui EMA jangka panjang di bawah EMA jangka pendek.

Strategi ini juga menggunakan pembolehubah lastCrossTime untuk merekodkan masa persilangan terakhir, untuk mengelakkan persilangan berulang daripada menghasilkan perdagangan yang tidak berguna. Setiap kali persilangan yang berkesan, semua kedudukan semasa dipadamkan terlebih dahulu, dan kemudian membuka posisi mengikut arah persilangan.

Kelebihan Strategik

  1. Strategi ini ringkas dan jelas, mudah difahami dan dioperasikan.

  2. Menggunakan EMA untuk menilai titik-titik perubahan trend adalah strategi penunjuk teknikal yang biasa digunakan dan berkesan.

  3. Menggunakan EMA berkala yang berbeza, anda boleh memastikan anda menangkap trend besar, tetapi juga meningkatkan kepekaan terhadap perubahan jangka pendek.

  4. Tetapkan Stop Loss untuk mengawal risiko dan keuntungan dalam satu dagangan.

  5. Gunakan penapisan pembolehubah lastCrossTime untuk mengelakkan pertukaran yang tidak perlu.

Risiko Strategik

  1. EMA cross mudah menghasilkan isyarat palsu dan terdapat risiko kesalahan persepsi tertentu.

  2. TP dan SL yang tetap sukar untuk menghadapi perubahan pasaran, dan anda harus menetapkan Hentikan Hentikan Hilang yang dinamik.

  3. Sistem yang hanya berasaskan EMA Cross boleh menyebabkan kerugian dalam keadaan gegaran.

  4. Tidak mengambil kira kesan kos urus niaga, dalam operasi sebenar perlu memperhatikan kos urus niaga seperti spread.

  5. Strategi ini digunakan terutamanya dalam keadaan trend dan mungkin tidak berkesan dalam keadaan goyah.

Ia boleh diperbaiki dengan mengoptimumkan stop loss, menambah syarat penapisan, dan menggabungkan petunjuk lain. Risiko perlu dikawal dengan ketat untuk mengelakkan kerugian tunggal yang terlalu besar.

Arah pengoptimuman strategi

  1. Parameter EMA boleh diuji untuk mencari kombinasi kitaran yang lebih sesuai.

  2. Menambah penilaian penunjuk bantuan seperti KDJ, MACD dan lain-lain.

  3. Tetapkan hentian hentian dinamik, seperti hentian marginal mengikut trend.

  4. Meningkatkan penilaian mengenai jumlah transaksi dan mempertimbangkan untuk masuk jika terdapat banyak transaksi.

  5. Digabungkan dengan bentuk grafik lain untuk penilaian, seperti menembusi titik rintangan penting dan sebagainya.

  6. Mengambil kira kesan kos dari cakera keras dan menetapkan stop loss yang munasabah.

ringkaskan

Strategi keseluruhan adalah mudah dan jelas, menggunakan EMA rata-rata untuk membalikkan arah trend, dengan stop loss untuk mengawal keuntungan risiko. Strategi ini mudah dikendalikan, tetapi terdapat beberapa risiko penipuan EMA, perlu mengoptimumkan parameter indikator lebih lanjut, dan ditambah dengan petunjuk teknikal lain untuk mengurangkan penipuan.

Kod sumber strategi
/*backtest
start: 2023-10-30 00:00:00
end: 2023-11-06 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('XXXquang', overlay=true)

// Sử dụng hàm input.int() và input.float() để tạo các trường nhập liệu với giới hạn giá trị
length1 = input.int(10, title="Length EMA Short", minval=1)
length2 = input.int(20, title="Length EMA Long", minval=1)
lotSize = input.int(1, title="Lot Size", minval=1)

takeProfitLevel = input.int(600, title="Take Profit Level", minval=1)
stopLossLevel = input.int(200, title="Stop Loss Level", minval=1)

ema1 = ta.ema(close, length1)
ema2 = ta.ema(close, length2)

var float lastCrossTime = na

if ta.crossover(ema1, ema2)
    if na(lastCrossTime)
        strategy.close_all()
    strategy.entry('Buy Order', strategy.long, qty=lotSize)
    strategy.exit('Exit Buy', 'Buy Order', profit=takeProfitLevel / syminfo.pointvalue, loss=stopLossLevel / syminfo.pointvalue)
    lastCrossTime := timenow

if ta.crossunder(ema1, ema2)
    if na(lastCrossTime)
        strategy.close_all()
    strategy.entry('Sell Order', strategy.short, qty=lotSize)
    strategy.exit('Exit Sell', 'Sell Order', profit=takeProfitLevel / syminfo.pointvalue, loss=stopLossLevel / syminfo.pointvalue)
    lastCrossTime := timenow

plot(ema1, title='EMA Short', color=color.new(color.blue, 0), linewidth=2)
plot(ema2, title='EMA Long', color=color.new(color.red, 0), linewidth=2)