
Стратегия представляет собой систему торговли, основанную на прорыве трендовых линий, в сочетании с концепциями движущихся средних и ценовых прорывов. В основе стратегии лежит создание торговых сигналов путем мониторинга прорыва цены закрытия к движущимся средним, а также установление стопов на основе недавних низких и стопов в соотношении 2:1 для управления риском. Стратегия использует простую движущуюся среднюю как индикатор тренда, чтобы определить изменение направления тренда путем пересечения цены с равной.
В качестве индикатора тренда стратегия использует 20-циклическую простую скользящую среднюю ((SMA)). Система генерирует многосигналы, когда цена закрытия прорывается вверх от средней линии. Стоп-пост устанавливается на самой низкой точке из последних 7 K-линий, чтобы избежать слишком близкого подхода к входной точке.
Это целостная структура, четкая логика и стратегия следования тренду. Она генерирует сигналы с помощью прорыва в движущейся средней, совмещается с разумными механизмами управления рисками и имеет хорошую практическую эффективность. Хотя существуют некоторые присущие риски, но с помощью рекомендуемого направления оптимизации можно дополнительно повысить стабильность и прибыльность стратегии.
/*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)