Количественная стратегия, основанная на пивоте Камачиры и полосах Боллинджера


Дата создания: 2024-02-05 14:23:59 Последнее изменение: 2024-02-05 14:23:59
Копировать: 0 Количество просмотров: 964
1
Подписаться
1617
Подписчики

Количественная стратегия, основанная на пивоте Камачиры и полосах Боллинджера

Обзор

Стратегия сначала рассчитывает цену Камачилы на основе цены максимума, минимума и закрытия за предыдущий торговый день. Затем она фильтрует цену в сочетании с индикатором Брин-Бенда и генерирует торговый сигнал, когда цена прорывает цену.

Стратегический принцип

  1. Вычисление максимальной цены, минимальной цены и цены закрытия за предыдущий торговый день
  2. Вычислить ось Камачилы по формуле, содержащей верхние колеи H4, H3, H2 и H1 и нижние колеи L1, L2, L3 и L4
  3. Расчет 20-го дня: Брин на трассе и с трассы
  4. Когда цена поднимается, она становится выше, а когда падает, она становится ниже.
  5. Стоп-стоп находится вблизи поезда на поезде на поезде на поезде на поезде

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

  1. Акс Камачила содержит несколько ключевых точек сопротивления, повышающих надежность торговых сигналов
  2. В сочетании с индикаторами по Бринскому поясу, эффективно фильтрует ложные прорывы
  3. Многопакетный портфель, гибкая торговля

Анализ рисков

  1. Неправильная настройка параметров индикатора Брин-Бенда может привести к ошибкам в торговых сигналах
  2. Ключевые точки на оси Камачилы рассчитываются в зависимости от цены предыдущего торгового дня и могут быть затронуты ночным взлетом.
  3. Операция с несколькими головами может привести к убыткам.

Направление оптимизации

  1. Оптимизация параметров пояса Бурин, поиск оптимальных комбинаций параметров
  2. В сочетании с другими показателями фильтрация ложного прорыва
  3. Увеличение стратегии по сдерживанию убытков и снижение убытков в отдельности

Подвести итог

Стратегия использует в своем комплексе показатели Камачильской оси и Бринской полосы для создания торговых сигналов при прорыве цены через ключевые поддерживающие сопротивления. Можно повысить доходность и стабильность стратегии с помощью оптимизации параметров и фильтрации сигналов. В целом, стратегия является четкой, управляемой и проверяемой в реальном времени.

Исходный код стратегии
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/05/2020
// Camarilla pivot point formula is the refined form of existing classic pivot point formula. 
// The Camarilla method was developed by Nick Stott who was a very successful bond trader. 
// What makes it better is the use of Fibonacci numbers in calculation of levels.
//
// Camarilla equations are used to calculate intraday support and resistance levels using 
// the previous days volatility spread. Camarilla equations take previous day’s high, low and 
// close as input and generates 8 levels of intraday support and resistance based on pivot points. 
// There are 4 levels above pivot point and 4 levels below pivot points. The most important levels 
// are L3 L4 and H3 H4. H3 and L3 are the levels to go against the trend with stop loss around H4 or L4 . 
// While L4 and H4 are considered as breakout levels when these levels are breached its time to 
// trade with the trend.
//
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Camarilla Pivot Points V2 Backtest", shorttitle="CPP V2", overlay = true)
res = input(title="Resolution", type=input.resolution, defval="D")
width = input(1, minval=1)
SellFrom = input(title="Sell from ", defval="R1", options=["R1", "R2", "R3", "R4"])
BuyFrom = input(title="Buu from ", defval="S1", options=["S1", "S2", "S3", "S4"])
reverse = input(false, title="Trade reverse")
xHigh  = security(syminfo.tickerid,res, high)
xLow   = security(syminfo.tickerid,res, low)
xClose = security(syminfo.tickerid,res, close)
H4 = (0.55*(xHigh-xLow)) + xClose
H3 = (0.275*(xHigh-xLow)) + xClose
H2 = (0.183*(xHigh-xLow)) + xClose
H1 = (0.0916*(xHigh-xLow)) + xClose
L1 = xClose - (0.0916*(xHigh-xLow))
L2 = xClose - (0.183*(xHigh-xLow))
L3 = xClose - (0.275*(xHigh-xLow))
L4 = xClose - (0.55*(xHigh-xLow))
pos = 0
S = iff(BuyFrom == "S1", H1, 
      iff(BuyFrom == "S2", H2,
       iff(BuyFrom == "S3", H3,
         iff(BuyFrom == "S4", H4,0))))
B = iff(SellFrom == "R1", L1, 
      iff(SellFrom == "R2", L2,
       iff(SellFrom == "R3", L3,
         iff(SellFrom == "R4", L4,0))))
pos := iff(close > B, 1,
       iff(close < S, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )