
Strategi ini adalah sistem perdagangan berdasarkan tanda silang sederhana bergerak rata-rata ((SMA) 1 / 2 / 4 kitaran. Dengan mengamati tempoh pendek dan purata purata jangka menengah yang bersempadan dengan purata jangka panjang, ia menangkap titik perubahan trend pasaran, untuk mengikuti trend dan menghentikan kerugian tepat pada masanya.
Inti strategi adalah menggunakan purata bergerak sederhana dari tiga kitaran yang berbeza ((1/2/4)), dengan menilai sama ada jangka pendek ((1 tempoh) dan jangka menengah ((2 tempoh) rata-rata melintasi jangka panjang ((4 tempoh) rata-rata untuk menentukan isyarat membeli; sebaliknya, apabila jangka pendek dan jangka menengah rata-rata melintasi jangka panjang rata-rata pada masa yang sama, menghasilkan isyarat menjual. Mekanisme pengesahan berganda ini dapat mengurangkan isyarat palsu dengan berkesan dan meningkatkan ketepatan perdagangan. Secara khusus, menggunakan fungsi ta.crossover ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
Strategi ini menangkap trend pasaran melalui persilangan pelbagai rata-rata bergerak, reka bentuknya jelas, cara pelaksanaannya mudah dan berkesan. Walaupun terdapat risiko ketinggalan dan isyarat palsu, dengan pengoptimuman parameter yang munasabah dan penambahan petunjuk tambahan, sistem perdagangan yang lebih baik dapat dibina. Strategi ini sangat berskala dan sesuai untuk pengoptimuman dan penyempurnaan lebih lanjut sebagai kerangka asas.
/*backtest
start: 2024-10-20 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("1/2/4 Moving Average STR 1.0.0", overlay=true)
o_length = input(1, title="1 Closed")
t_length = input(2, title="2 Closed")
f_length = input(4, title="4 Closed")
// Calculate the simple moving averages.
ma_o = ta.sma(close, o_length)
ma_t = ta.sma(close, t_length)
ma_f = ta.sma(close, f_length)
// Plot the moving averages on the chart.
plot(ma_o, color=color.green, title="1 MA")
plot(ma_t, color=color.red, title="2 MA")
plot(ma_f, color=color.blue, title="4 MA")
// Assign the crossover and crossunder results to global variables.
crossover_o = ta.crossover(ma_o, ma_f)
crossover_t = ta.crossover(ma_t, ma_f)
crossunder_o = ta.crossunder(ma_o, ma_f)
crossunder_t = ta.crossunder(ma_t, ma_f)
// Generate signals based on the global crossover variables.
// Buy signal: both 1 and 2 SMAs cross over the 4 SMA on the same bar.
buy_signal = crossover_o and crossover_t
// Sell signal: both 1 and 2 SMAs cross under the 4 SMA on the same bar.
sell_signal = crossunder_o and crossunder_t
// Enter trades based on the signals.
// For a long position, enter on a buy signal and exit when a sell signal occurs.
if buy_signal
strategy.entry("Long", strategy.long)
if sell_signal
strategy.close("Long")
// For a short position, enter on a sell signal and exit when a buy signal occurs.
if sell_signal
strategy.entry("Short", strategy.short)
if buy_signal
strategy.close("Short")