
Ringkasan: Strategi ini berdasarkan purata bergerak dari tiga tempoh yang berbeza untuk mencapai perdagangan Forex. Melakukan perdagangan Forex lebih banyak apabila melintasi purata jangka panjang di atas purata jangka pendek dan berkurangan apabila melintasi purata jangka panjang di bawah purata jangka pendek.
Prinsip-prinsip strategi:
Tentukan tiga purata bergerak, iaitu purata jangka pendek, purata jangka panjang dan purata trend. Purata jangka pendek adalah 20, purata jangka panjang adalah 200, dan purata trend adalah 50.
Apabila garis purata jangka pendek melintasi garis purata jangka panjang menghasilkan isyarat beli lebih banyak, dan apabila garis purata jangka pendek melintasi garis purata jangka panjang menghasilkan isyarat jual kosong.
Pada masa yang sama, periksa sama ada garis purata jangka pendek dan garis purata jangka panjang berada di atas garis purata trend, dan penapis isyarat jika tidak dipenuhi. Ini dapat mengelakkan operasi berlawanan arah.
Penangguhan dan penangguhan ditetapkan sebagai peratusan harga masuk, parameter yang boleh dioptimumkan mengikut keadaan sebenar.
Menggambar titik persilangan garis rata untuk membantu melihat masa kemasukan.
Analisis kelebihan:
Strategi ini mudah difahami, mudah difahami dan mudah dilaksanakan.
Ia juga dapat menangkap trend jangka pendek dan sederhana dengan berkesan.
Gabungan garisan trend yang sama boleh menapis isyarat lebih lanjut dan mengelakkan operasi berlawanan arah.
Parameter tiga garis rata boleh disesuaikan dengan ciri-ciri pasaran yang berbeza.
Parameter penghentian kerosakan yang boleh disesuaikan untuk mengawal risiko.
Analisis risiko:
Jika pasaran bergolak secara mendadak, ia boleh menyebabkan penutupan kerugian.
Jika trend berubah, ia boleh menyebabkan kerugian yang lebih besar.
Tetapan parameter yang tidak betul boleh menyebabkan perdagangan yang kerap atau kehilangan peluang.
Ia perlu memberi perhatian kepada kesan kos transaksi.
Arah untuk dioptimumkan:
Indikator kadar turun naik boleh digabungkan untuk menyaring lebih lanjut isyarat, seperti ATR.
Algoritma pembelajaran mesin boleh diperkenalkan untuk mengoptimumkan parameter secara dinamik.
Ia boleh digabungkan dengan lebih banyak trend penghakiman seperti MACD.
Anda boleh menetapkan Hentian Bergerak untuk mengunci keuntungan.
Parameter yang boleh dioptimumkan untuk menghentikan kerosakan dengan mengesan semula.
Kesimpulannya:
Strategi ini secara keseluruhannya jelas dan mudah dilaksanakan, dengan menangkap trend secara sistematik. Strategi ini perlu dioptimumkan mengikut keadaan pasaran tertentu. Strategi ini lebih sesuai untuk perdagangan trend jangka pendek dan menengah, dan berfungsi dengan baik dalam pengembalian dan perdagangan demo.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("XAU M15", overlay=true)
// Define input parameters
long_length = input.int(64, title="Long MA Length")
short_length = input.int(1, title="Short MA Length")
trend_length = input.int(200, title="Trend MA Length")
// Calculate moving averages
long_ma = ta.sma(close, long_length)
short_ma = ta.sma(close, short_length)
trend_ma = ta.sma(close, trend_length)
// Plot moving averages on chart
plot(long_ma, color=color.blue, title="Long MA")
plot(short_ma, color=color.red, title="Short MA")
plot(trend_ma, color=color.green, title="Trend MA")
// Entry conditions
enterLong = ta.crossover(long_ma, short_ma) and long_ma > trend_ma and short_ma > trend_ma
enterShort = ta.crossunder(long_ma, short_ma) and long_ma < trend_ma and short_ma < trend_ma
if (enterLong)
strategy.entry("Long", strategy.long)
if (enterShort)
strategy.entry("Short", strategy.short)
// Exit conditions
exitLong = ta.crossunder(long_ma, short_ma)
exitShort = ta.crossover(long_ma, short_ma)
if (exitLong)
strategy.close("Long")
if (exitShort)
strategy.close("Short")
// Set stop loss and take profit levels
long_stop_loss_percentage = input(1, title="Long Stop Loss (%)") / 100
long_take_profit_percentage = input(3, title="Long Take Profit (%)") / 100
short_stop_loss_percentage = input(1, title="Short Stop Loss (%)") / 100
short_take_profit_percentage = input(3, title="Short Take Profit (%)") / 100
strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - long_stop_loss_percentage), limit=close * (1 + long_take_profit_percentage))
strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + short_stop_loss_percentage), limit=close * (1 - short_take_profit_percentage))
plotshape(series=enterLong, title="Buy Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(series=enterShort, title="Sell Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)