Стратегия прорыва Noro V1.0


Дата создания: 2023-09-21 15:09:43 Последнее изменение: 2023-09-21 15:09:43
Копировать: 0 Количество просмотров: 649
1
Подписаться
1617
Подписчики

Обзор

Эта стратегия основана на ценовых прорывах для совершения торговых операций. Она рассчитывает максимальные и минимальные цены в течение определенного периода и генерирует торговые сигналы, когда цены прорывают эти предельные значения.

Стратегический принцип

  1. Вычислить наивысшую ценуupex и наименьшую цену dnex за последние N циклов.

  2. Когда цена превышает упекс, делайте больше.

  3. Когда цена ниже dnex, пустовать.

  4. Конфигурируйте только плюс, только минус или двустороннюю торговлю.

  5. Использование распределяемых средств.

  6. Конфигурируемый временной диапазон.

Стратегические преимущества

  • Поиск прорывных сигналов для торговли трендами
  • Правила простые, понятные и практичные.
  • Конфигурируемый в разных направлениях, адаптированный к различным рынкам
  • Ограничиваемый временной диапазон
  • Контролируемая доходность

Стратегический риск

  • Ущерб от неэффективной фильтрации проникновения
  • Двусторонние сделки увеличивают комиссионные и стоимость скольжения
  • Риск увеличения использования крупных капиталов

Направление оптимизации

  • Увеличение проверки эффективности прорывов и предотвращение ложных прорывов
  • Оптимизирующий параметр N величины
  • В сочетании с другими показателями фильтрует сигналы
  • Тестирование различных уровней использования средств
  • Ограничение количества транзакций в день

Подвести итог

Эта стратегия позволяет реализовать трендовую слежку за ценовыми прорывами. Оптимизация механизмов проверки прорывов и параметров может повысить эффективность. Однако следует обратить внимание на предупреждение ложных прорывов и контроль риска. В целом, эта стратегия предоставляет простое и эффективное решение для торговли тенденциями.

Исходный код стратегии
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-20 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Brakeout Strategy v1.0", shorttitle = "Brakeout str 1.0", 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(4, defval = 4, minval = 1, maxval = 1000, title = "Length")
showlines = input(true, defval = true, title = "Show Lines?")
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")

//Extremums
upex = highest(high, len)
dnex = lowest(low, len)
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)

//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[len]))
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)), stop = upex + syminfo.mintick)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)), stop = dnex - syminfo.mintick)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()