
Tiga EMA trend track strategi dengan mengira EMA rata-rata dari pelbagai kitaran, menilai arah trend harga, untuk mencapai trend track. Strategi ini mudah dilaksanakan, dan kesannya ketara dalam varieti yang jelas trend.
Strategi ini dikira dengan mengira garis purata EMA untuk tiga kitaran yang berbeza, iaitu EMA untuk 10 kitaran, 20 kitaran dan 30 kitaran.
Strategi ini terutama menentukan arah tiga garis rata. Jika tiga garis rata naik pada masa yang sama, ia akan menghasilkan isyarat melakukan banyak; jika tiga garis rata turun pada masa yang sama, ia akan menghasilkan isyarat melakukan kosong.
Logik penentuan khusus untuk isyarat plus dan minus adalah bahawa jika ema1, ema2 dan ema3 naik pada masa yang sama pada satu baris terakhir K, maka enter_long adalah benar, menghasilkan isyarat plus. Jika ema1, ema2 dan ema3 turun pada masa yang sama pada satu baris terakhir K, maka enter_short adalah benar, menghasilkan isyarat minus.
Bergantung pada isyarat jual-beli dan jual-belah, strategi akan membina kedudukan jual-belah dan jual-belah yang sesuai. Logik kedudukan rata adalah bertentangan dengan isyarat masuk, jika garis K semasa ema1, ema2 dan ema3 tidak naik pada masa yang sama, maka exit_long adalah benar dan rata sebagai kedudukan banyak. Jika garis K semasa ema1, ema2 dan ema3 tidak turun pada masa yang sama, maka exit_short adalah benar dan rata sebagai kedudukan kosong.
Dengan cara ini, dengan menilai keserasian arah tiga garis rata-rata EMA, trend harga keseluruhan dapat ditentukan dan trend dapat dikesan.
Menggunakan tiga garis rata EMA, anda boleh menentukan arah trend dengan lebih tepat. Berbanding dengan satu garis rata, tiga garis rata menentukan trend dengan lebih dipercayai, dan kebarangkalian munculnya isyarat yang salah adalah lebih kecil.
EMA lebih sensitif terhadap perubahan harga dan dapat mencerminkan perubahan trend tepat pada masanya. EMA lebih sesuai untuk menentukan arah trend berbanding dengan garis purata lain seperti SMA.
Penggunaan EMA berkala yang berbeza dapat mengimbangi trend jangka pendek dan jangka menengah. 10 EMA kitaran menilai trend jangka pendek, 20 EMA kitaran dan 30 EMA kitaran menilai trend jangka panjang.
Strategi yang dilaksanakan adalah mudah, mudah difahami, sesuai untuk pelajar pemula. Selain itu, parameter yang dioptimumkan mempunyai ruang yang luas untuk menyesuaikan parameter untuk pelbagai jenis.
Strategi ini hanya berdasarkan EMA yang beroperasi secara seragam, menggunakan sumber yang sedikit, sesuai untuk jumlah besar dan pengedaran.
Ketiga arah EMA yang selaras adalah syarat yang diperlukan tetapi tidak mencukupi untuk menilai trend. Apabila arah EMA yang selaras dilanggar, akan menghasilkan isyarat yang salah.
Apabila trend bertukar, EMA rata-rata terlewat dan tidak dapat mencerminkan titik perubahan trend tepat pada masanya, yang boleh menyebabkan kerugian.
EMA sensitif terhadap perubahan harga dan sering menukar mata wang dan mata wang kosong, sering membuka kedudukan kosong, meningkatkan yuran perdagangan.
Dalam pasaran yang sangat bergolak, EMA rata-rata menghasilkan beberapa kali perubahan arah, tidak dapat menentukan trend dengan tepat, strategi ini tidak berkesan.
Tiga EMA boleh diperluaskan untuk mengurangkan kebarangkalian isyarat palsu.
Ia boleh digabungkan dengan penunjuk kuantitatif untuk mengesahkan trend, mengenal pasti titik perubahan trend, mengurangkan kerugian. Ia juga boleh mengendurkan titik hentian kerugian.
Parameter EMA boleh ditingkatkan dengan sewajarnya, mengurangkan frekuensi pembukaan kedudukan kosong.
Setelah mengenal pasti pasaran yang bergolak, anda boleh menangguhkan strategi anda untuk mengelakkan perdagangan yang tidak sah.
Pengoptimuman kitaran: menyesuaikan parameter kitaran tiga EMA untuk menyesuaikan diri dengan ciri-ciri varieti yang berbeza.
Syarat penapisan: Tambahkan MA, BOLL dan lain-lain untuk mengelakkan EMA palsu.
Strategi Hentikan Kerosakan: Trailing Stop Mengesan Hentikan Kerosakan Secara Beransur-ansur, Melindungi Keuntungan.
Pengurusan wang: Optimumkan pengurusan kedudukan, mengurangkan kesan kerugian tunggal terhadap keseluruhan.
Penilaian keadaan pasaran: Mengetahui tahap pergolakan pasaran berdasarkan indikator seperti kadar turun naik, penyertaan strategi kawalan.
Penyesuaian parameter: membolehkan parameter kitaran EMA dioptimumkan secara automatik mengikut perubahan pasaran, meningkatkan kebolehpercayaan strategi.
Tiga strategi pengesanan trend EMA menilai trend harga melalui arah garis rata EMA, mewujudkan trend pengesanan automatik untuk berdagang. Strategi ini mudah dan praktikal, ruang penyesuaian parameter yang besar, boleh dioptimumkan untuk ciri-ciri varieti.
/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 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/
// © QuantCT
//@version=4
strategy("PMA Strategy Idea",
shorttitle="PMA",
overlay=true,
pyramiding=0,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
initial_capital=1000,
commission_type=strategy.commission.percent,
commission_value=0.075)
// ____ Inputs
ema1_period = input(title="EMA1 Period", defval=10)
ema2_period = input(title="EMA2 Period", defval=20)
ema3_period = input(title="EMA3 Period", defval=30)
long_only = input(title="Long Only", defval=false)
slp = input(title="Stop-loss (%)", minval=1.0, maxval=25.0, defval=5.0)
use_sl = input(title="Use Stop-Loss", defval=false)
// ____ Logic
ema1 = ema(hlc3, ema1_period)
ema2 = ema(hlc3, ema2_period)
ema3 = ema(hlc3, ema3_period)
enter_long = (rising(ema1, 1) and rising(ema2, 1) and rising(ema3, 1))
exit_long = not enter_long
enter_short = (falling(ema1, 1) and falling(ema2, 1) and falling(ema3, 1))
exit_short = not enter_short
strategy.entry("Long", strategy.long, when=enter_long)
strategy.close("Long", when=exit_long)
if (not long_only)
strategy.entry("Short", strategy.short, when=enter_short)
strategy.close("Short", when=exit_short)
// ____ SL
sl_long = strategy.position_avg_price * (1- (slp/100))
sl_short = strategy.position_avg_price * (1 + (slp/100))
if (use_sl)
strategy.exit(id="SL", from_entry="Long", stop=sl_long)
strategy.exit(id="SL", from_entry="Short", stop=sl_short)
// ____ Plots
colors =
enter_long ? #27D600 :
enter_short ? #E30202 :
color.orange
ema1_plot = plot(ema1, color=colors)
ema2_plot = plot(ema2, color=colors)
ema3_plot = plot(ema3, color=colors)
fill(ema1_plot, ema3_plot, color=colors, transp=50)