
Стратегия прорыва в горизонтальном режиме - это количественная торговая стратегия, основанная на динамическом показателе ценовой динамики. Стратегия определяет, находится ли рынок на этапе горизонтального урегулирования, рассчитывая динамические изменения цены. Соответствующая покупка или продажа производится, когда линия динамической индикации ценовой динамики прорывает установленную линию покупки или продажи.
Сначала стратегия рассчитывает динамические изменения ценыmommЗатем разделить на положительное движение.m1и отрицательная динамикаm2Затем вычислить сумму положительных и отрицательных динамических величин за определенный период.sm1иsm2И в конце - Чанде.chandeMOУказатель с 0 как центральной оси, когда показатель больше 0, то силы повышения больше силы снижения, а меньше 0, то наоборот.
Когда динамический индикатор Чанде прорывает линию покупки с низкого уровня, это означает, что цена выходит из периода падения и входит в стадию свертывания, готовясь к росту. В этот момент стратегия совершает покупку. Когда индикатор прорывает линию продажи с высокого уровня, он совершает операцию продажи.
Можно установить динамическую линию покупки и продажи, или в сочетании с другими индикаторами фильтруют сигналы. Также следует установить стоп-лосс, чтобы контролировать риск.
Стратегия прорыва в одноместном горизонтальном диапазоне использует индикатор динамики Чанде, чтобы определить переломную точку, когда цена переходит от падения к скорректировке и затем к росту. Эта стратегия проста в использовании и эффективно улавливает перемены в тренде. Однако параметры настройки и стоп-лосс-контроль требуют дальнейшей оптимизации, чтобы уменьшить риск ошибочных сигналов и контроля.
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//* Backtesting Period Selector | Component *//
//* https://www.tradingview.com/script/eCC1cvxQ-Backtesting-Period-Selector-Component *//
//* https://www.tradingview.com/u/pbergden/ *//
//* Modifications made *//
testStartYear = input(2021, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(10, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(999999, "Backtest Stop Year")
testStopMonth = input(9, "Backtest Stop Month")
testStopDay = input(26, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriod() => true
/////////////// END - Backtesting Period Selector | Component ///////////////
strategy(title="Chande Momentum Strat", shorttitle="ChandeMO Strat", format=format.price, precision=2)
length = input(9, minval=1)
src = input(close, "Price", type = input.source)
momm = change(src)
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m
m1 = f1(momm)
m2 = f2(momm)
sm1 = sum(m1, length)
sm2 = sum(m2, length)
percent(nom, div) => 100 * nom / div
chandeMO = percent(sm1-sm2, sm1+sm2)
plot(chandeMO, "Chande MO", color=color.blue)
hline(0, color=#C0C0C0, linestyle=hline.style_dashed, title="Zero Line")
buyline= input(-80)
sellline= input(80)
hline(buyline, color=color.gray)
hline(sellline, color=color.gray)
if testPeriod()
if crossover(chandeMO, buyline)
strategy.entry("Long", strategy.long, alert_message="a=ABCD b=buy e=binanceus q=1.2 s=uniusd")
// strategy.exit(id="Long Stop Loss", stop=strategy.position_avg_price*0.8) //20% stop loss
if crossunder(chandeMO, sellline)
strategy.entry("Short", strategy.short, alert_message="a=ABCD b=sell e=binanceus q=1.2 s=uniusd")
// strategy.exit(id="Short Stop Loss", stop=strategy.position_avg_price*1.2) //20% stop loss
// remember to alert as {{strategy.order.alert_message}}