Это внутридневная стратегия торговли, которая использует индикаторы импульса и ключевые уровни поддержки / сопротивления для торговли прорывом. Она включает в себя индекс Choppiness для выявления тенденций и торгует только тогда, когда тенденция ясна, чтобы контролировать риск.
Стратегия использует индекс Choppiness для выявления тенденций. Низкие значения Choppiness указывают на четкую тенденцию, а высокие значения указывают на консолидацию. Стратегия торгуется только тогда, когда Choppiness ниже 44.
Для входных сигналов он рассчитывает ключевые уровни поддержки/сопротивления внутридневного периода, включая H4, H5 и т. д. Он длинный, когда цена закрывается выше H4 и короткий, когда цена закрывается ниже L4.
В частности, он рассчитывает следующие внутридневные уровни:
После вычисления этих уровней, он использует H4 и L4 в качестве ключевых уровней прорыва.
Когда цена прорывается выше H4, это сигнализирует о растущем бычьем импульсе, и стратегия идет на длинный. Когда цена прорывается ниже L4, это сигнализирует о растущем медвежьем импульсе, и стратегия идет на короткий.
Преимущества этой стратегии включают:
Использование Choppiness для выявления ясных тенденций позволяет избежать проблем в консолидации.
Расчетные уровни поддержки/сопротивления обычно имеют смысл.
Торговые перерывы H4 и L4, близкие к цене закрытия, отражают важные внутридневные перерывы.
Сигналы прорыва имеют очень высокий показатель выигрыша.
Простая и понятная логика, легкая для понимания и реализации для новичков.
Риски этой стратегии включают:
Опираясь на Choppiness для определения тенденций, можно потерпеть неудачу и неправильно понять тенденции.
Расчетные уровни могут не сдержаться, и цена может прорваться, вызвав остановки.
Сигналы прорыва могут быть ложными прорывами с быстрыми отступлениями.
Без учета общей тенденции, потери могут накапливаться на нестабильных рынках.
Нет стоп-лосса означает, что в экстремальных движениях возможны огромные одиночные потери.
Решения:
Добавление других показателей для перекрестного подтверждения и повышение точности.
Внедрить перемещение стоп-лосса для контроля одиночных потерь.
Включить длительный тренд фильтр, чтобы избежать контра-тенд торгов.
Добавьте сигнал для повторного входа, чтобы избежать ложных побегов.
Эта стратегия может быть дополнительно оптимизирована путем:
Оптимизация параметров Choppiness для поиска лучших значений.
Испытание различных уровней выхода, как H3 и L3 для повышения эффективности.
Добавление движущегося стоп-лосса для защиты прибыли и контроля рисков.
Добавляю сигнал повторного входа, чтобы избежать потерь от ложных прорывов.
Включение длительного фильтра тренда для избежания контратендных сделок.
Оптимизация времени торговли, например, только торговать в США или Европе.
Добавление правил размещения позиций, таких как фиксированное количество или фиксированный процент.
Анализирую данные обратного теста для настройки параметров.
В целом, основная идея заключается в том, чтобы торговать прорывами после выявления тренда. Он имеет простую логику и приличные шансы на выигрыш. Но существуют риски и необходимы дальнейшие уточнения для контроля рисков и повышения прибыльности. С настройкой параметров, остановкой потери, фильтром тренда и т. Д. Он может стать очень практичной внутридневной системой прорыва. Он обеспечивает импульсную структуру прорыва, которая является эффективной внутридневной торговой стратегией.
/*backtest start: 2023-09-08 00:00:00 end: 2023-10-08 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Created by AS strategy(title="ASH1Strategy", shorttitle="AS_H1_Strategy", overlay=true) //sd = input(true, title="Show Daily Pivots?") EMA = ema(close,3) 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 if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = close <dtime_l4 if (shortCondition) strategy.entry("My Short Entry Id", strategy.short)