
Стратегия основана на выбранной пользователем EMA и определенном процентном канале. Когда цена ниже верхней линии, стратегия делает больше; когда цена выше нижней линии, стратегия делает пустоту. Если цена начинает торговать по тренду и прорывает канал, выровняйте все позиции, чтобы предотвратить потери.
Для трендовых рынков рекомендуется использовать сопутствующий криптовалютный EMA-процентный канал и стратегию трендового трейдинга по ленте Брин.
Исчисление EMA 200 циклов в качестве базовой EMA.
Проценты, установленные пользователем, идут вверх-вниз: Верхняя линия = EMA * (1 + процент) Нижняя линия = EMA * (1 - процент)
Вычислить 20 циклов по пулинской полосе и изобразить диапазон каналов.
Сделайте больше, когда цена закрытия спускается вверх, чтобы прорваться вниз по линии Бринга; сделайте больше, когда цена закрытия спускается вверх, чтобы прорваться вниз по линии Бринга.
Используйте ATR для расчета стоп-лосса и избегайте слишком больших потерь.
Если цена выходит за пределы установленного процентного коридора, все позиции должны быть ликвидированы, чтобы предотвратить дальнейшие потери.
Используя EMA в качестве ориентира, можно лучше улавливать точки перехода тренда.
Процентный канал устанавливает разумный диапазон сделок, чтобы избежать слишком частых сделок.
Брин-пояса обеспечивают опору и сопротивление, помогают определить время входа в игру.
Используйте ATR trailing stopdynamically, чтобы установить стоп-лосс и эффективно контролировать риски в каждой сделке.
Если цена выходит за пределы канала, все позиции ликвидируются, и можно быстро контролировать потери.
Настраиваемые параметры могут быть настроены гибко и адаптироваться к различным рынкам.
Если процентный канал слишком широк, то можно пропустить тренд или не допустить несвоевременного потери.
Если процентные каналы слишком узкие, это может привести к слишком частому обращению и увеличению стоимости транзакций.
Неправильная настройка параметров Брин-полосы также может привести к пропущенным торговым возможностям.
Слишком мягкая установка точки остановки может привести к слишком большим потерям.
Необходимо правильно оптимизировать параметры, чтобы найти оптимальный диапазон торгов.
Испытание различных параметров цикла EMA, чтобы найти наиболее подходящий среднелинейный цикл.
Оптимизируйте параметры процента канала, чтобы найти оптимальный диапазон канала.
Регулирование параметров циклов пояса Бурин, оптимизация эффекта захвата колебаний.
Настройка циклов и кратности ATR для дальнейшей оптимизации стратегии стоп-лосса.
Проверьте, сможете ли вы выполнить более высокие или более низкие условия.
В сочетании с индикаторами тенденций, оценить, нужно ли ранее ликвидировать позиции.
Стратегия использует преимущества различных индикаторов, таких как средняя линия, канал, волатильность и т. д., чтобы обеспечить более стабильную стратегию торговли в диапазоне. Ключ заключается в том, чтобы найти наиболее подходящие параметры для конкретного рынка, чтобы достичь баланса между риском и прибылью. В будущем можно продолжить оптимизацию параметров и правил стратегии или использовать их в сочетании с стратегией торговли тенденциями.
/*backtest
start: 2023-11-05 00:00:00
end: 2023-11-12 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="[mdeacey] EMA% Channel + BB Range Strategy", shorttitle="[mdeacey] EMA% Channel + BB Range Strategy", overlay=true)
//EMA 200
len = input(title="EMA Length", type=input.integer, defval=200)
srce = input(title="EMA Source", type=input.source, defval=close)
ema1= ema(srce,len)
percent = input(title="Channel Percentage (%)", type=input.float, defval= 1)
valuee = (percent*ema1)/100
upperbande = ema1 + valuee
lowerbande = ema1 - valuee
plot(ema1, title='EMA200', color=color.gray, linewidth=1, style=plot.style_line )
plot(upperbande, title='EMA Upper Band', color=color.gray, linewidth=1, style=plot.style_line )
plot(lowerbande, title='EMA Lower Band', color=color.gray, linewidth=1, style=plot.style_line )
length = input(20, minval=2)
src = input(close, title="Close price")
mult = input(2.0, minval=0.001, maxval=50)
MA2 = sma(src, length)
dev = mult * stdev(src, length)
upper = MA2 + dev
lower = MA2 - dev
signalColor = crossunder(close, upper) ? color.red : crossover(close, lower) ? color.green : color.white
barcolor(color=signalColor)
upperBand = plot(upper, color=color.gray, linewidth=1)
lowerBand = plot(lower, color=color.gray, linewidth=1)
fill(upperBand, lowerBand,color=color.gray)
strategy.entry("Long",true,when = crossover(close,lower) and close <upperbande and close>lowerbande)
strategy.close("Long",when = crossunder(close,lowerbande))
strategy.entry("Short",false,when = crossunder(close,upper) and close <upperbande and close>lowerbande)
strategy.close("Short",when = crossover(close,upperbande))
//Inputs
atrPeriod = input(defval=14, title="ATR Period",group='ATR Settings', type=input.integer) // Adjust this to change the ATR calculation length
multiplierPeriod = input(defval=1.75, title="ATR Multiplier Period",group='ATR Settings', type=input.float)// Adjust this to change the distance between your candles and the line
//ATR Calculation
pine_rma(x, y) =>
alpha = y
sum = 0.0
sum := (x + (alpha - 1) * nz(sum[1])) / alpha
true_range() =>
max(high - low, max(abs(high - close[1]), abs(low - close[1])))
//Long SL
plot(low - pine_rma(true_range() * multiplierPeriod, atrPeriod), "Long Stop", color=color.red, offset = 1)
// Short SL
plot(high +pine_rma(true_range() * multiplierPeriod, atrPeriod), "Short Stop", color=color.red, offset = 1)
strategy.exit("Exit Long","Long",limit=upper ,stop = low - pine_rma(true_range() * multiplierPeriod, atrPeriod) )
strategy.exit("eExit Short","Short",limit=lower ,stop =high +pine_rma(true_range() * multiplierPeriod, atrPeriod) )