
Strategi ini menggunakan sinyal silang 50 siklus rata-rata bergerak lurus (SMMA) dan 20 siklus rata-rata bergerak sederhana (SMA) untuk menentukan waktu untuk membeli dan menjual. Ketika SMA garis cepat naik, sinyal beli muncul. Ketika SMA turun, sinyal jual muncul.
dapat menguji kombinasi parameter yang berbeda (jumlah siklus, kondisi penyaringan, dll) untuk mencari parameter yang optimal;
dapat dikombinasikan dengan faktor-faktor lain untuk memfilter sinyal, seperti peningkatan volume transaksi;
mencari parameter optimal dengan menggunakan alat optimasi parameter;
Penangguhan lainnya, seperti penangguhan bergerak, penangguhan proporsional, dan lain-lain dapat dipertimbangkan.
Stop loss dinamis dapat dihitung dengan volatilitas pasar.
Strategi ini beroperasi secara keseluruhan sederhana, menangkap arah tren melalui dua garis rata; Fleksibel menggunakan stop loss tetap dan stop loss dinamis untuk mengunci keuntungan dan mengontrol risiko, risiko yang dapat diidentifikasi dan keuntungan. Strategi ini dapat lebih lanjut beradaptasi dengan lingkungan pasar yang lebih luas melalui parameter dan aturan optimasi.
/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("50 SMMA and 20 SMA Crossover with TP and SL", overlay=true)
// Define 50 SMMA
smma50 = sma(close, 50)
// Define 20 SMA
sma20 = sma(close, 20)
// Plotting the SMMA and SMA
plot(smma50, color=color.blue, title="50 SMMA")
plot(sma20, color=color.red, title="20 SMA")
// Initialize TP and SL variables
tp = 150
var float sl_price = na
// Buy Signal
buySignal = crossover(sma20, smma50)
strategy.entry("Buy", strategy.long, when = buySignal)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", profit=tp, loss=sl_price)
// Sell Signal
sellSignal = crossunder(sma20, smma50)
strategy.entry("Sell", strategy.short, when = sellSignal)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", profit=tp, loss=sl_price)
// Update stop loss level on every crossover
if (buySignal or sellSignal)
sl_price := close[bar_index + 1]
// Plot Stop Loss level
plotshape(series=sl_price != na, title="Stop Loss Level", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)