Эта стратегия основана на теории прорывов, которая сравнивает высокие и низкие цены в качестве движущихся средних, чтобы определить, будет ли тенденция переворачиваться, чтобы обнаружить потенциальные точки прорыва, и торговать при появлении этих точек. Эта стратегия проста и непосредственна, она применяется для отслеживания показателей резких изменений в тренде.
В зависимости от настроек пользователя, стратегия сначала вычисляет движущиеся средние максимальной и минимальной цены за определенный период. Высокая средняя цена означает повышение, а низкая средняя цена означает снижение. Когда цена пробивается вверх, указывающая на тенденцию к росту, стратегия открывает позицию.
Эта стратегия также предлагает опционную параметру остановки убытков. Когда вы делаете много, то остановка убытков находится на верхней полосе; когда вы делаете много, то остановка убытков находится на нижней полосе. Это может уменьшить убытки.
Эта стратегия имеет следующие преимущества:
Стратегическая концепция проста, понятна и реализуема.
Позиции могут быть скорректированы в случае, если цена изменится в течение определенного периода времени.
Предоставляется возможность выбора метода остановки убытков, который можно настроить в соответствии с личными предпочтениями в отношении риска.
Трейдинг сигналы генерируются четко, не часто ложные сигналы.
Меньше параметров для конфигурирования, проще в использовании.
Гибкость в настройках: только больше или только меньше.
Однако эта стратегия также несет в себе некоторые риски:
Сигнал прорыва может быть ложным, и не может продолжаться.
Неправильная настройка прорыва может пропустить тенденцию к более длинным линиям.
Прорыв не учитывает объемы торговли, что может привести к резкому снижению цен.
В этом случае, как и в предыдущем случае, вы можете пропустить лучшие моменты.
В случае резкой колебательности ситуации есть риск того, что остановка будет нарушена.
Прибыль является неопределенной, если торговать только на основе точки прорыва.
Эта стратегия может быть оптимизирована в следующих аспектах:
В сочетании с показателями объема сделок, избегайте ложных прорывов. Например, при прорыве объем сделок увеличивается, что означает, что прорыв может быть реальным и эффективным.
Оптимизируйте циклические параметры скользящих средних, чтобы они соответствовали изменениям тенденций в разных периодах. Также можно попробовать различные типы скользящих средних.
Можно установить диапазон отклонения, чтобы после прорыва получить дополнительную подтверждение и избежать ложного прорыва.
На прорывном базисе можно добавить инструменты для индексов, такие как Bollinger Channel, для получения дополнительных указаний на направление.
RSI, MACD и другие индикаторы могут быть использованы для получения дополнительных торговых сигналов и повышения точности принятия решений.
Оптимизация стратегии остановки убытков, чтобы она лучше адаптировалась к колебаниям рынка, контролируя при этом риски.
Общая идея стратегии прорыва в торговле понятна и понятна, и для определения времени входа и выхода используется отслеживание взлетов и падений цены. Существует большое пространство для оптимизации стратегии, эффективность стратегии может быть усилена путем интеграции большей информации о показателях и оптимизации параметров. После знакомства с основной идеей стратегии, можно получить лучшие торговые эффекты в соответствии с параметрами, которые необходимо скорректировать.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=3
strategy(title = "Noro's Brakeout Strategy v2.0", shorttitle = "Brakeout str 2.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")
bod = input(false, defval = false, title = "Body mode")
rev = input(false, defval = false, title = "Revers")
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
min = bod ? min(open, close) : low
max = bod ? max(open, close) : high
upex = highest(max, len) + syminfo.mintick * 10
dnex = lowest(min, len) - syminfo.mintick * 10
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)
//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if (not na(close[len])) and rev == false
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = upex)
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnex)
if (not na(close[len])) and rev == true
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex)
strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex)
if time > timestamp(toyear, tomonth, today, 23, 59)
strategy.close_all()