Эта стратегия использует скользящую среднюю величину и средний истинный диапазон для определения направления тренда рынка для торговли с отслеживанием тренда.
Эта стратегия использует скользящий средний диапазон длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины длины.
Когда минимум больше скользящей средней плюс средний истинный диапазон (минимум > ma + atr), он рассматривается как тенденция к росту. Когда максимум меньше скользящей средней минус средний истинный диапазон (ма - atr), он рассматривается как тенденция к снижению.
В остальных случаях предыдущее решение остается в силе.
Когда выясняется тенденция к росту, покупайте на определенном проценте, когда вам разрешено покупать. Когда выясняется тенденция к снижению, покупайте короткий на определенный процент, когда вам разрешается делать короткий.
Заключительное условие заключается в достижении указанной даты окончания торговли.
Преимущества этой стратегии:
Основными рисками этой стратегии являются:
Решения:
Стратегия может быть оптимизирована из следующих аспектов:
Общая идея этой стратегии ясна и понятна. Она использует скользящие средние для определения направления тренда и использует средний истинный диапазон для установки остановок. Она может эффективно отслеживать тенденции. Но есть определенные риски, и необходима дальнейшая оптимизация параметров и добавление других показателей суждения. В целом эта стратегия обеспечивает жизнеспособный подход к отслеживанию тренда.
/*backtest start: 2024-01-04 00:00:00 end: 2024-01-11 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //2019 //Noro //@version=4 strategy(title = "Noro's MA+ATR Strategy", shorttitle = "MA+ATR str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %") len = input(30, minval = 2, title = "MA Length") src = input(ohlc4, title = "MA Source") limitmode = input(false) fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //MA + BG atr = sma(tr, len) * 2 ma = sma(src, len) plot(ma, color = color.blue, linewidth = 4) trend = 0 trend := low > ma + atr ? 1 : high < ma - atr ? -1 : trend[1] col = trend == 1 ? color.lime : color.red bgcolor(col, transp = 70) //Trading lot = 0.0 lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1] if trend == 1 and limitmode == false strategy.entry("Long", strategy.long, needlong == false ? 0 : lot) if trend == -1 and limitmode == false strategy.entry("Short", strategy.short, needshort == false ? 0 : lot) if trend == 1 and limitmode strategy.entry("Long", strategy.long, needlong == false ? 0 : lot) if trend == -1 and limitmode strategy.entry("Short", strategy.short, needshort == false ? 0 : lot) // if time > timestamp(toyear, tomonth, today, 23, 59) // strategy.close_all()