Стратегия разрыва диапазона ARGO

Автор:Чао Чжан, Дата: 2023-10-07 16:04:16
Тэги:

Обзор

Стратегия ARGO Range Breakout - это 4-часовая торговая система диапазона, вдохновленная принципами прорыва канала.

Логика стратегии

Стратегия сначала вычисляет самый высокий максимум (upBound) и самый низкий минимум (downBound) за определенный период, чтобы сформировать диапазон канала. Затем она вычисляет среднюю линию, верхнюю полосу и нижнюю полосу канала Боллинджера. Сигналы покупки и продажи запускаются при изменении направления канала.

В частности, стратегия рассчитывает расходный период (по умолчанию 47). Затем устанавливается точка соотношения (по умолчанию 1) и толерантность (по умолчанию 1000), чтобы рассчитать верхний предел BoundUp и нижний предел BoundDown канала. Сигнал покупки запускается, когда цена превышает нижний предел. Сигнал продажи запускается, когда цена превышает верхний предел.

Кроме того, конфигурируются условия стоп-лосса и стоп-лосса прибыли. Стоп-лосс для длинных сделок устанавливается близко к нижней границе, в то время как для коротких сделок - близко к верхней границе. Прибыль основана на вводном целевом соотношении прибыли/убытка.

Анализ преимуществ

  • Использует принципы Bollinger Channel для адаптации к волатильности рынка
  • Четырехчасовой график предназначен для отслеживания значительных колебаний цен
  • Сочетание стратегии выхода помогает обнаружить обратные тенденции
  • Стоп-лосс и контроль прибыли по риску/вознаграждению по сделке

Риски и решения

  • Уязвимы к ложным побегам и оказаться в ловушке
  • Большие временные рамки могут привести к увеличению потерь
  • Неправильная остановка может привести к неприемлемым потерям
  • Решения:
    • Оптимизируйте параметры канала против ложных прорывов
    • Тщательно определить размер позиции и уровни стоп-лосса
    • Улучшить режим стоп-лосса/приобретения прибыли для строгого контроля рисков

Руководство по оптимизации

  • Оптимизация параметров канала для лучшего соответствия волатильности рынка
  • Динамическое регулирование стоп-лосса/приобретения прибыли для повышения риска/прибыли
  • Добавьте торговые фильтры, чтобы избежать ловушек и преследования максимумов
  • Включите дополнительные факторы, чтобы избежать ложных сигналов
  • Сочетание индикаторов тенденции и волатильности для принятия лучших решений
  • Оптимизация управления капиталом для различных рыночных условий

Заключение

Стратегия ARGO Range Breakout - это 4-часовая среднесрочная торговая система, основанная на принципе Bollinger Channel и принципе Breakout. По сравнению с краткосрочной торговлей, она больше фокусируется на поимке обратных тенденций в среднесрочных временных рамках. При надлежащей оптимизации она может адаптироваться к различным рыночным условиям и достигать значительной прибыли, контролируя риск. Стратегия балансирует следующее за трендом и управление рисками.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-06 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2

// strategy("ARGO_BAND-STRATEGY", overlay=true,default_qty_value=10000,scale=true,initial_capital=100,currency=currency.USD)

// A 4hours Breakout Strategy work in progres..it's  a starting point, thanks to all tradingview community
//How to use: test it only on gbpjpy 240 min, wait the end of the candle to place next order, red and blue dots are short and long stop orders, Targets are Upper and lowerBands. Test it and enjoy but use at your own risk..
//2016 © F.Peluso


risk=input(title="Risk", defval=1)
length = input(title="Length",  minval=1, maxval=1000, defval=47)
stopBound=input(title="Previous",defval=10)
upBound = highest(high, length)
downBound = lowest(low, length)
point=1
tol=1000
stopT=input(title="Stop", defval=5,minval=1, maxval=5)
dev =input(title="Tolerance",defval=2,minval=1, maxval=5)
limitBoundUp=( highest(high, length))*(point-(dev/tol))
limitBoundDown=downBound/(point-(dev/tol))
plot(limitBoundUp[1],linewidth = 3,style = circles, color = navy,trackprice=true),transp=0
plot(limitBoundDown[1],linewidth = 3,style = circles, color = red,trackprice=true,transp=0)
mezzalinea=((upBound+downBound)/2)

// Color Bands

colo = ((close>limitBoundUp[1]) ? blue : (close<upBound[1]) ? white : na)
UpB = plot(upBound[1], title="Upper Bound", style=linebr, linewidth=1, color=colo)
DownB = plot(limitBoundUp[1] ,title="Lower Bound", style=linebr, linewidth=2, color=colo)
fill(UpB, DownB, color=colo, transp=90)

plot(limitBoundUp[2]/(point+(stopT/tol)),color=colo)

coloS = ((close<limitBoundDown[1]) ? red : (close>downBound[1]) ? white : na)
DB = plot(downBound[1], title="Upper Bound", style=linebr, linewidth=1, color=coloS)
DoB = plot(limitBoundDown[1] ,title="Lower Bound", style=linebr, linewidth=2, color=coloS)
fill(DB, DoB, color=coloS, transp=90)

plot(limitBoundDown[2]*(point+(stopT/tol)),color=coloS)

// Strategy

past=input(title="Past", defval=5)
buy=(crossover(close,limitBoundUp))
closebuy=cross(high[past],upBound[0])
stopbuy = limitBoundUp[2]/(point+(stopT/tol))

sell=crossunder(close,limitBoundDown)
closesell=cross(low[past],downBound[0])


if (not na(close[length]))
    if (buy)
        strategy.entry("ChBrkLE", strategy.long,stop=limitBoundUp - syminfo.mintick,comment="Long I")   

strategy.close("ChBrkLE",when=closebuy)

if (not na(close[length]))
    if (sell)
        strategy.entry("ChBrkSE", strategy.short,stop=limitBoundDown + syminfo.mintick,comment="Short I")   

strategy.close("ChBrkSE",when=closesell)

Target =input(0) * 10 
Stop = input(90) * 10 
Trailing = input(40) * 10
CQ = 100
TPP = (Target > 0) ? Target : na
SLP = (Stop > 0) ? Stop : na
TSP = (Trailing > 0) ? Trailing : na
strategy.exit("Out Short", "ChBrkSE", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Out Long", "ChBrkLE", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Больше