
Это система торговли короткой линией, основанная на бриндо. Она применяется к основным валютным парам, требует комиссионных для торговли с разницей менее 1 пункта, с периодичностью от 1 до 15 минут.
Система использует три индикатора: BRI, RSI и ADX для выявления торговых возможностей.
RSI используется для предотвращения ложных прорывов. Прорыв считается действительным только тогда, когда RSI переворачивается (вверх или вниз от зоны сверхпокупок). ADX используется для фильтрации рынков, где тенденция не очевидна, и вступает в игру только тогда, когда ADX ниже 32.
Конкретные правила входа следующие: многократный вход требует, чтобы цена прорвала верхнюю полосу, RSI поднялся с зоны перепродажи и пересекал 30 линий, в то время как ADX был ниже 32; пустой вход требует, чтобы цена прорвала нижнюю полосу, RSI опустился с зоны перепродажи и пересекал 70 линий, в то время как ADX был ниже 32 .
Правила выхода включают в себя остановку и возврат к средней линии. В частности, устанавливается фиксированная остановка и возврат к средней линии.
Система имеет следующие преимущества:
При использовании бринговых поясов для фиксации цены в воздухе существует большой потенциал для получения прибыли.
В сочетании с RSI, чтобы избежать ложных прорывов и повысить вероятность получения прибыли.
Используйте индикатор ADX, чтобы отфильтровывать рынки, в которых нет явных тенденций, и избегать бесполезных сделок.
Возвращение в центральную линию позволяет заблокировать большую часть прибыли, чтобы избежать ее перераспределения.
В качестве примера можно привести следующие примеры:
В этой системе также есть некоторые риски:
Если вы не можете поймать взлеты цены, вы не можете получить прибыль.
Риск совпадения данных отслеживания. Результаты отслеживания могут быть не воспроизведены на диске.
Тенденция может быть слишком короткой, и рынок может потерпеть убытки в случае колебаний.
Высокий леверинг увеличивает риск.
Вы можете пропустить часть торгового времени.
Система может быть оптимизирована в следующих аспектах:
Оптимизация параметров, улучшение эффективности индикатора. Например, изменение цикла булинских полос, параметров RSI и т. Д.
Добавление или улучшение условий фильтрации, повышение доли прибыльных сделок. Например, в сочетании с большим количеством показателей или элементов фундамента.
Оптимизация стратегии стоп-стоп для максимизации единичной прибыли. Например, отслеживание стоп-стоп, стоп-стоп в соответствии с ATR и т. Д.
Автоматическое определение подходящего уровня леверинга для максимизации ожидаемой прибыли.
Используйте технологии машинного обучения, чтобы автоматически искать оптимальные параметры.
Золотая брин-линейная волатильная регрессия является типичной системой прорыва коротких линий. Она захватывает возможности для получения прибыли, связанные с волатильностью цены.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99
//@version=4
strategy("Bollinger Bands, RSI and ADX Trading System", overlay=true)
timeinrange(res, sess) => time(res, sess) != 0
timer = color.red
//bgcolor(timeinrange(timeframe.period, "0300-0600") or timeinrange(timeframe.period, "0900-1300") or timeinrange(timeframe.period, "2030-2300") ? timer : na, transp=70)
//RSI
length = input( 20 )
overSold = input( 35 )
overBought = input( 65 )
price = close
vrsi = rsi(price, length)
co = crossover(vrsi, overSold)
cu = crossunder(vrsi, overBought)
//if (not na(vrsi))
//BB
lengthB = input(60, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, lengthB)
dev = mult * stdev(src, lengthB)
upper = basis + dev
lower = basis - dev
//adx
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Length")
dirmov(len) =>
up = change(high)
down = -change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
truerange = rma(tr, len)
plus = fixnan(100 * rma(plusDM, len) / truerange)
minus = fixnan(100 * rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
sig = adx(dilen, adxlen)
longEntry = close < upper and crossover(vrsi,overSold) and sig < 32 //and (timeinrange(timeframe.period, "0301-0600") or timeinrange(timeframe.period, "0901-1300") or timeinrange(timeframe.period, "2031-2300"))
shortEntry = close > upper and crossunder(vrsi,overBought) and sig < 32 //and (timeinrange(timeframe.period, "0301-0600") or timeinrange(timeframe.period, "0901-1300") or timeinrange(timeframe.period, "2031-2300"))
tp=input(90, step=10)
sl=input(90, step=10)
strategy.entry("long",1,when=longEntry)
strategy.exit("X_long", "long", profit=tp, loss=sl )
strategy.close("long",when=crossunder(close,basis))
strategy.entry('short',0,when=shortEntry)
strategy.exit("x_short", "short",profit=tp, loss=sl)
strategy.close("short",when=crossover(close,basis))