
Ini adalah strategi pengesanan trend berdasarkan tiga purata bergerak sederhana ((SMA)). Strategi ini menggunakan hubungan silang dan kedudukan rata-rata bergerak 21, 50 dan 100 untuk mengenal pasti trend pasaran dan berdagang pada masa yang sesuai. Strategi ini beroperasi pada bingkai masa 5 minit, dengan cadangan merujuk kepada carta 30 minit untuk pengesahan trend.
Strategi ini menggunakan mekanisme penapisan tiga untuk menentukan isyarat dagangan:
Syarat pembelian mesti dipenuhi pada masa yang sama:
Syarat jualan perlu dipenuhi:
Cadangan kawalan risiko:
Ini adalah strategi penjejakan trend yang strukturnya lengkap dan logiknya jelas. Melalui penapisan triple linear dan mekanisme pengesahan trend, ia dapat mengurangkan isyarat palsu dengan berkesan dan meningkatkan kadar kejayaan perdagangan. Strategi ini mempunyai skalabiliti yang baik dan boleh disesuaikan secara optimum mengikut keadaan pasaran yang berbeza.
/*backtest
start: 2024-02-21 00:00:00
end: 2024-06-08 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Vezpa
//@version=5
strategy("Vezpa's Gold Strategy", overlay=true)
// ======================== MAIN STRATEGY ========================
// Input parameters for the main strategy
fast_length = input.int(21, title="Fast MA Length", minval=1)
slow_length = input.int(50, title="Slow MA Length", minval=1)
trend_filter_length = input.int(100, title="Trend Filter MA Length", minval=1)
// Calculate moving averages for the main strategy
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
trend_ma = ta.sma(close, trend_filter_length)
// Plot moving averages
plot(fast_ma, color=color.blue, title="21 MA")
plot(slow_ma, color=color.red, title="50 MA")
plot(trend_ma, color=color.orange, title="100 MA")
// Buy condition: 21 MA crosses above 50 MA AND both are above the 100 MA
if (ta.crossover(fast_ma, slow_ma) and fast_ma > trend_ma and slow_ma > trend_ma)
strategy.entry("Buy", strategy.long)
// Sell condition: 21 MA crosses below 50 MA AND both are below the 100 MA
if (ta.crossunder(fast_ma, slow_ma) and fast_ma < trend_ma and slow_ma < trend_ma)
strategy.close("Buy")
// Plot buy signals as green balloons
plotshape(series=ta.crossover(fast_ma, slow_ma) and fast_ma > trend_ma and slow_ma > trend_ma,
title="Buy Signal",
location=location.belowbar,
color=color.green,
style=shape.labelup,
text="BUY",
textcolor=color.white,
size=size.small,
transp=0)
// Plot sell signals as red balloons
plotshape(series=ta.crossunder(fast_ma, slow_ma) and fast_ma < trend_ma and slow_ma < trend_ma,
title="Sell Signal",
location=location.abovebar,
color=color.red,
style=shape.labeldown,
text="SELL",
textcolor=color.white,
size=size.small,
transp=0)