
Strategi ini adalah sistem perdagangan yang berasaskan trend line breakout, menggabungkan konsep moving averages dan price breakouts. Inti strategi ini adalah untuk menghasilkan isyarat perdagangan dengan memantau harga tutup untuk menembusi moving averages, dan menetapkan stop loss dan stop loss berdasarkan kadar rendah terkini dan perkadaran 2: 1 untuk menguruskan risiko. Strategi ini menggunakan purata bergerak sederhana sebagai indikator trend, untuk menilai perubahan arah trend melalui persilangan harga dengan garis rata-rata.
Strategi ini menggunakan purata bergerak sederhana (SMA) selama 20 kitaran sebagai penunjuk trend. Apabila harga penutupan pecah dari bawah garis rata-rata ke atas, sistem akan menghasilkan banyak isyarat. Stop loss ditetapkan pada titik terendah dari 7 garis K terakhir, untuk mengelakkan terlalu dekat dengan titik masuk.
Ini adalah strategi mengikuti trend yang lengkap dan logik. Ia menghasilkan isyarat dengan memecahkan purata bergerak, dengan mekanisme pengurusan risiko yang munasabah. Ia mempunyai kegunaan yang baik. Walaupun terdapat beberapa risiko yang wujud, ia dapat meningkatkan kestabilan dan keuntungan strategi dengan arah pengoptimuman yang disyorkan.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-11 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Trend Breakout with SL and TP", overlay=true)
// Parametrlar
length = input(25, title="Length for SL Calculation")
trendLength = input(20, title="Trend Line Length")
// Trend chizig'ini hisoblash
trendLine = ta.sma(close, trendLength)
// Yopilish narxi trend chizig'ini yorib o'tganda signal
longSignal = close > trendLine and close[1] <= trendLine
// Oxirgi 7 shamning minimumini hisoblash
lowestLow = ta.lowest(low, 7)
// Stop Loss darajasini belgilash
longSL = lowestLow // SL oxirgi 7 shamning minimumiga teng
// Take Profit darajasini SL ga nisbatan 2 baravar ko'p qilib belgilash
longTP = longSL + (close - longSL) * 2 // TP 2:1 nisbatida
// Savdo bajarish
if longSignal
strategy.entry("Long", strategy.long)
strategy.exit("Take Profit", "Long", limit=longTP)
strategy.exit("Stop Loss", "Long", stop=longSL)
// Grafikda trend chizig'ini chizish
plot(trendLine, title="Trend Line", color=color.blue, linewidth=2)
// Signal chizish
plotshape(longSignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
// SL va TP darajalarini ko'rsatish
// if longSignal
// // SL chizig'i
// line.new(bar_index, longSL, bar_index + 1, longSL, color=color.red, width=2, style=line.style_dashed)
// // TP chizig'i
// line.new(bar_index, longTP, bar_index + 1, longTP, color=color.green, width=2, style=line.style_dashed)
// // SL va TP label'larini ko'rsatish
// label.new(bar_index, longSL, "SL: " + str.tostring(longSL), color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small)
// label.new(bar_index, longTP, "TP: " + str.tostring(longTP), color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)