
Ini adalah sistem strategi perdagangan berdasarkan purata bergerak sederhana empat kitaran, yang mengintegrasikan mekanisme pengurusan hentian dan kerugian yang dinamik. Strategi ini menangkap titik-titik perubahan trend pasaran dengan memantau harga dan hubungan silang dengan garis purata jangka pendek, dan menetapkan hentian dan kerugian dalam bentuk peratusan untuk pengurusan risiko.
Strategi ini beroperasi berdasarkan logik teras berikut: Pertama, kiraan 4 kitaran purata bergerak sederhana ((SMA) sebagai petunjuk utama, sistem mengenal pasti sebagai melihat lebih banyak isyarat dan membuka kedudukan lebih banyak apabila harga melintasi SMA ke atas; apabila harga melintasi SMA ke bawah, sistem mengenal pasti sebagai melihat lebih banyak isyarat dan membuka kedudukan kosong. Setiap perdagangan menetapkan titik berhenti yang dinamik berdasarkan harga yang dibuka, dengan berhenti diam menganggap 2%, dan berhenti diam menganggap 1%.
Ini adalah strategi perdagangan kuantitatif yang terstruktur, logik dan jelas. Ia menangkap pergerakan pasaran melalui garis rata-rata jangka pendek, ditambah dengan mekanisme kawalan risiko yang ketat, sesuai untuk peniaga yang mencari keuntungan yang stabil. Walaupun terdapat ruang untuk pengoptimuman, kerangka asas strategi ini mempunyai skalabiliti yang baik, dengan pengoptimuman dan penyesuaian berterusan, diharapkan untuk mencapai kesan perdagangan yang lebih baik.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("4SMA Strategy with Targets and Stop Loss", overlay=true)
// Input parameters for SMA
smaLength = input.int(4, title="SMA Length", minval=1)
// Input parameters for stop loss and take profit
takeProfitPercent = input.float(2.0, title="Take Profit (%)", step=0.1) // Default: 2%
stopLossPercent = input.float(1.0, title="Stop Loss (%)", step=0.1) // Default: 1%
// Calculate 4-period SMA
sma = ta.sma(close, smaLength)
// Plot SMA
plot(sma, color=color.blue, title="4SMA Line")
// Entry Conditions
longCondition = ta.crossover(close, sma) // Price crosses above SMA (bullish signal)
shortCondition = ta.crossunder(close, sma) // Price crosses below SMA (bearish signal)
// Strategy Logic
if (longCondition)
strategy.entry("Long", strategy.long) // Enter long position
if (shortCondition)
strategy.entry("Short", strategy.short) // Enter short position
// Calculate Take Profit and Stop Loss
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100) // TP for long
longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100) // SL for long
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100) // TP for short
shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100) // SL for short
// Exit for Long
if (strategy.position_size > 0) // If in a long position
strategy.exit("Long TP/SL", from_entry="Long", limit=longTakeProfit, stop=longStopLoss)
// Exit for Short
if (strategy.position_size < 0) // If in a short position
strategy.exit("Short TP/SL", from_entry="Short", limit=shortTakeProfit, stop=shortStopLoss)