Стратегия прорыва на основе канала Камарилья


Дата создания: 2023-10-24 16:18:30 Последнее изменение: 2023-10-24 16:18:30
Копировать: 0 Количество просмотров: 788
1
Подписаться
1617
Подписчики

Стратегия прорыва на основе канала Камарилья

Обзор

Эта стратегия основана на Камалильской канале и движущейся средней линии для определения точек прорыва в рынке и отслеживания тенденций. Стратегия относительно проста, но имеет сильную практическую ценность.

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

  1. Вычислить линии поддержки и сопротивления в Камалильском канале. Включая линии H4, L4 и т. д.

  2. Судить о том, пробилась ли цена через эту линию прохода. Например, если цена на закрытии пробилась через линию H4, а цена на открытии была ниже линии H4, считается, что есть сигнал прорыва.

  3. Присоедините решение о движущейся средней, чтобы дополнительно подтвердить сигнал прорыва. Например, если EMA ниже цены закрытия, то это многополюсный прорыв.

  4. Вхождение в многоочередные позиции, установка условий стоп-порога и стоп-стоп, таких как установка фиксированных точек стоп-порога, а также способы отслеживания стоп-порога

  5. Такой же логикой можно судить и о пустых головах.

Выше приведены основные логические решения стратегии, относительно простые, интуитивные, легко понятные и реализуемые. Благодаря динамическому отслеживанию стоп-лосс, вы можете продолжать получать прибыль до тех пор, пока тенденция не изменится.

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

Эта стратегия имеет следующие преимущества:

  1. Основываясь на канале Камалиры, можно точно определить потенциальную поддержку и сопротивление.

  2. В сочетании с однолинейной фильтрацией, можно эффективно различать истинный или ложный сигнал прорыва.

  3. Применение метода отслеживания остановок позволяет получать устойчивую прибыль и избегать обратного остановки.

  4. Сигналы о стратегии простые и понятные, и их можно легко понять.

  5. Автоматическая торговля с фиксированными параметрами без частого корректирования параметров.

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

Также существуют следующие риски:

  1. Камалильский канал не может эффективно оценить точку обратной тенденции, что может привести к увеличению потерь.

    • Решение: в сочетании с другими показателями, такими как шок, определить обратный тренд
  2. Неразумная установка стоп-пойнтов может привести к преждевременному остановке или увеличению убытков.

    • Решение: оптимизация и тестирование различных установок стоп-пойнтов
  3. Сигнал прорыва может быть ложным прорывом.

    • Решение: добавление дополнительных критериев для подтверждения или надлежащее смягчение критериев для определения прорыва.
  4. На рынке, который сильно потряс, было несколько ложных прорывов.

    • Решение: избегать торговли в период потрясений или надлежащим образом смягчить критерии прорыва.

Рекомендации по оптимизации

Эта стратегия также может быть оптимизирована в следующих областях:

  1. Повышение показателей комбинированной фильтрации, повышение точности прорыва. Можно рассматривать KDJ, MACD и т. д.

  2. Оптимизация стратегий остановки убытков, таких как введение динамических остановок, сочетание показателей ATR и т. д.

  3. Оптимизация параметров различных сортов, повышение стабильности.

  4. Повышение оценки макроциклических тенденций, избежание контрастной торговли.

  5. В сочетании с количественным анализом за день, высокий уровень концентрации позволяет достичь прорыва.

  6. Разработка автоматических программ для оптимизации параметров в реальном времени.

  7. В частности, он отметил, что в 2014 году в Китае было зафиксировано более 30 тысяч случаев заболевания, в том числе среди детей.

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

Общая идея этой стратегии ясна, проста, практична и является типичной стратегией для отслеживания прорыва. Определение потенциальной сопротивляемости поддержки с помощью камалирского канала, а затем в сочетании с равномерной фильтрацией определяет направление прорыва.

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

//@version=2
//Created by CristianD
strategy(title="CamarillaStrategyV1", shorttitle="CD_Camarilla_StrategyV1", overlay=true) 
//sd = input(true, title="Show Daily Pivots?")
EMA = ema(close,8)

//Camarilla
pivot = (high + low + close ) / 3.0 
range = high - low
h5 = (high/low) * close 
h4 = close + (high - low) * 1.1 / 2.0
h3 = close + (high - low) * 1.1 / 4.0
h2 = close + (high - low) * 1.1 / 6.0
h1 = close + (high - low) * 1.1 / 12.0
l1 = close - (high - low) * 1.1 / 12.0
l2 = close - (high - low) * 1.1 / 6.0
l3 = close - (high - low) * 1.1 / 4.0
l4 = close - (high - low) * 1.1 / 2.0
h6 = h5 + 1.168 * (h5 - h4) 
l5 = close - (h5 - close)
l6 = close - (h6 - close)

// Daily line breaks
//sopen = request.security(syminfo.tickerid, "D", open [1])
//shigh = request.security(syminfo.tickerid, "D", high [1])
//slow = request.security(syminfo.tickerid, "D", low [1])
//sclose = request.security(syminfo.tickerid, "D", close [1])
//
// Color
//dcolor=sopen != sopen[1] ? na : black
//dcolor1=sopen != sopen[1] ? na : red
//dcolor2=sopen != sopen[1] ? na : green

//Daily Pivots 
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1]) 
dtime_h6 = request.security(syminfo.tickerid, 'D', h6[1]) 
dtime_h5 = request.security(syminfo.tickerid, 'D', h5[1]) 
dtime_h4 = request.security(syminfo.tickerid, 'D', h4[1]) 
dtime_h3 = request.security(syminfo.tickerid, 'D', h3[1]) 
dtime_h2 = request.security(syminfo.tickerid, 'D', h2[1]) 
dtime_h1 = request.security(syminfo.tickerid, 'D', h1[1]) 
dtime_l1 = request.security(syminfo.tickerid, 'D', l1[1]) 
dtime_l2 = request.security(syminfo.tickerid, 'D', l2[1]) 
dtime_l3 = request.security(syminfo.tickerid, 'D', l3[1]) 
dtime_l4 = request.security(syminfo.tickerid, 'D', l4[1]) 
dtime_l5 = request.security(syminfo.tickerid, 'D', l5[1]) 
dtime_l6 = request.security(syminfo.tickerid, 'D', l6[1]) 

//offs_daily = 0
//plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",color=dcolor, linewidth=2)
//plot(sd and dtime_h6 ? dtime_h6 : na, title="Daily H6", color=dcolor2, linewidth=2)
//plot(sd and dtime_h5 ? dtime_h5 : na, title="Daily H5",color=dcolor2, linewidth=2)
//plot(sd and dtime_h4 ? dtime_h4 : na, title="Daily H4",color=dcolor2, linewidth=2)
//plot(sd and dtime_h3 ? dtime_h3 : na, title="Daily H3",color=dcolor1, linewidth=3)
//plot(sd and dtime_h2 ? dtime_h2 : na, title="Daily H2",color=dcolor2, linewidth=2)
//plot(sd and dtime_h1 ? dtime_h1 : na, title="Daily H1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l1 ? dtime_l1 : na, title="Daily L1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l2 ? dtime_l2 : na, title="Daily L2",color=dcolor2, linewidth=2)
//plot(sd and dtime_l3 ? dtime_l3 : na, title="Daily L3",color=dcolor1, linewidth=3)
//plot(sd and dtime_l4 ? dtime_l4 : na, title="Daily L4",color=dcolor2, linewidth=2)
//plot(sd and dtime_l5 ? dtime_l5 : na, title="Daily L5",color=dcolor2, linewidth=2)
//plot(sd and dtime_l6 ? dtime_l6 : na, title="Daily L6",color=dcolor2, linewidth=2)

longCondition = close >dtime_h4 and open < dtime_h4 and EMA < close
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit ("Exit Long","Long",  trail_points = 140,trail_offset = 1, loss =170) 
    //trail_points = 40, trail_offset = 3, loss =70 and


shortCondition = close <dtime_l4 and open >dtime_l4 and EMA > close
if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit ("Exit Short","Short", trail_points = 110,trail_offset = 1, loss =120)