
Inti dari strategi ini adalah menggunakan rata-rata bergerak rata-rata indeks sebagai sinyal jual beli, digabungkan dengan stop loss dan stop loss persentase untuk mengunci keuntungan dan mengendalikan risiko. Strategi ini sederhana untuk diterapkan dan berlaku untuk perdagangan kuantitatif saham dan produk keuangan lainnya.
Perhitungan EMA cepat dan EMA lambat, EMA cepat memiliki periode 20 hari dan EMA lambat memiliki periode 50 hari. Sinyal beli dihasilkan ketika EMA cepat melewati EMA lambat; Sinyal jual dihasilkan ketika EMA cepat melewati EMA lambat.
Setel trailing stop loss setelah masuk, masing-masing setel multi-posisi trailing stop loss dan persentase trailing stop loss untuk posisi kosong, misalnya 7%. Trailing stop loss akan secara otomatis menyesuaikan setiap K-line, mengunci keuntungan maksimum yang mungkin.
Pada saat yang sama mengatur posisi stop loss, sesuai dengan arah memegang posisi dan harga masuk masing-masing mengatur persentase dari stop loss multi posisi dan stop loss posisi kosong, misalnya 2%.
Bandingkan harga stop loss dan stop loss, pilih posisi stop loss yang lebih dekat dengan harga pasar untuk transaksi ini, dan kirimkan surat stop loss.
Sinyal rata-rata bergerak sederhana, mudah dipahami, dan mudah diterapkan.
Stop Loss Tracking dapat mengunci keuntungan maksimum, sekaligus mencegah kesalahan penilaian yang menyebabkan kerugian yang tidak perlu.
Persentase Stop Loss dapat disesuaikan secara intuitif untuk mengontrol kerugian maksimum per transaksi.
Kombinasi trailing stop loss dan fixed stop loss dapat mengunci keuntungan dan mengendalikan risiko.
Strategi Moving Average mudah menghasilkan sinyal palsu, memperkenalkan kondisi filter yang lebih kuat.
Penghentian kerugian yang ditandai dengan tailspin kadang-kadang terjadi terlalu dini, dan penghentian kerugian dapat dikurangi dengan tepat.
Penetapan posisi stop loss yang tidak tepat mungkin terlalu radikal atau konservatif, perlu diuji untuk menyesuaikan parameter persentase.
Stop loss yang dilakukan secara mekanis dapat melewatkan peluang untuk membalikkan pasar, dan dapat digabungkan dengan indikator teknis untuk menilai stop loss.
Mencoba kombinasi EMA dengan parameter yang berbeda untuk mencari keseimbangan yang optimal.
Menambahkan sinyal filter palsu pada indikator seperti volume transaksi.
Uji lebih banyak saham untuk menemukan parameter stop loss yang tepat.
Cobalah untuk menambahkan stop loss yang bergerak, dan sesuaikan posisi stop loss dengan pasar.
Pertimbangan Stop Loss Terkait Indikator RSI
Strategi ini mengintegrasikan sinyal perdagangan rata-rata bergerak, trailing stop loss dan stop loss persentase, dapat diterapkan pada berbagai jenis saham dan komoditas melalui optimasi parameter, dan menghasilkan keuntungan yang stabil, sementara risiko dikontrol secara ketat, layak untuk penelitian dan pengoptimalan terus-menerus dari para pedagang kuantitatif.
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wouterpruym1828
//@version=5
strategy(title=" Combining Trailing Stop and Stop loss (% of instrument price)",
overlay=true, pyramiding=1, shorttitle="TSL&SL%")
//INDICATOR SECTION
// Indicator Input options+
i_FastEMA = input.int(title = "Fast EMA period", minval = 0, defval = 20)
i_SlowEMA = input.int(title = "Slow EMA period", minval = 0, defval = 50)
// Calculate moving averages
fastEMA = ta.ema(close, i_FastEMA)
slowEMA = ta.ema(close, i_SlowEMA)
// Plot moving averages
plot(fastEMA, title="Fast SMA", color=color.blue)
plot(slowEMA, title="Slow SMA", color=color.orange)
//STRATEGY SECTION
// Calculate trading conditions
buy = ta.crossover(fastEMA, slowEMA)
sell = ta.crossunder(fastEMA, slowEMA)
// STEP 1:
// Configure trail stop loss level with input options (optional)
longTrailPerc = input.float(title="Long Trailing Stop (%)", minval=0.0, step=0.1, defval=7) * 0.01
shortTrailPerc = input.float(title="Short Trailing Stop (%)", minval=0.0, step=0.1, defval=7) * 0.01
//Configure stop loss level with input options (optional)
longStopPerc = input.float(title="Long Stop Loss (%)", minval=0.0, step=0.1, defval=2)*0.01
shortStopPerc = input.float(title="Short Stop Loss (%)", minval=0.0, step=0.1, defval=2)*0.01
// STEP 2:
// Determine trail stop loss prices
longTrailPrice = 0.0, shortTrailPrice = 0.0
longTrailPrice := if (strategy.position_size > 0)
stopValue = high * (1 - longTrailPerc)
math.max(stopValue, longTrailPrice[1])
else
0
shortTrailPrice := if (strategy.position_size < 0)
stopValue = low * (1 + shortTrailPerc)
math.min(stopValue, shortTrailPrice[1])
else
999999
// Determine stop loss prices
entryPrice = 0.0
entryPrice := strategy.opentrades.entry_price(strategy.opentrades - 1)
longLossPrice = entryPrice * (1 - longStopPerc)
shortLossPrice = entryPrice * (1 + shortStopPerc)
// Plot stop loss values for confirmation
plot(series=(strategy.position_size > 0) ? longTrailPrice : na,
color=color.fuchsia, style=plot.style_cross,
linewidth=2, title="Long Trail Stop")
plot(series=(strategy.position_size < 0) ? shortTrailPrice : na,
color=color.fuchsia, style=plot.style_cross,
linewidth=2, title="Short Trail Stop")
plot(series=(strategy.position_size > 0) ? longLossPrice : na,
color=color.olive, style=plot.style_cross,
linewidth=2, title="Long Stop Loss")
plot(series=(strategy.position_size < 0) ? shortLossPrice : na,
color=color.olive, style=plot.style_cross,
linewidth=2, title="Short Stop Loss")
// Submit entry orders
if (buy)
strategy.entry("Buy", strategy.long)
if (sell)
strategy.entry("Sell", strategy.short)
//Evaluating trailing stop or stop loss to use
longStopPrice = longTrailPrice < longLossPrice ? longLossPrice : longTrailPrice
shortStopPrice = shortTrailPrice > shortLossPrice ? shortLossPrice : shortTrailPrice
// STEP 3:
// Submit exit orders for stop price
if (strategy.position_size > 0)
strategy.exit(id="Buy Stop", stop=longStopPrice)
if (strategy.position_size < 0)
strategy.exit(id="Sell Stop", stop=shortStopPrice)