Стратегия быстрого разрыва японских свечей, основанная на скользящей средней и поддержке и сопротивлении


Дата создания: 2023-12-27 15:27:45 Последнее изменение: 2023-12-27 15:27:45
Копировать: 0 Количество просмотров: 619
1
Подписаться
1621
Подписчики

Стратегия быстрого разрыва японских свечей, основанная на скользящей средней и поддержке и сопротивлении

Обзор

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

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

Эта стратегия использует для определения направления тренда простые скользящие средние значения SMA длиной 20 и индексные скользящие средние значения EMA длиной 200. Когда цена находится в восходящем тренде (SMA выше EMA), и текущая японская ядра закрывается выше откровенной цены (белая ядра), то это указывает на усиление многоголовой силы; когда цена находится в нисходящем тренде (SMA ниже EMA), и текущая японская ядра закрывается ниже откровенной цены (черная ядра), то это указывает на усиление пустой силы.

В случае подтверждения тренда и силы, стратегия ждет, пока цена быстро поднимется вверх и войдет в поле. Так называемый подъемный купол - это первая линия канала из трех каналов ATR, установленных фильтром (который рассчитан на основе 200-дневного ATR и коэффициента), и войдет во вторую линию канала.

После входа в рынок, правила остановки или потери очень просты. Если цена касается внешней границы канала (например, верхней линии остановки или нижней линии остановки), она сразу же останавливается или теряет. Это гарантирует быструю прибыль стратегии.

Стратегические преимущества

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

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

Стратегический риск

Эта стратегия основывается на среднелинейных показателях для определения направления тренда, существует риск обратного отклонения и колебаний. Когда цена колеблется внутри канала, это может привести к обратному открытию позиций и убыткам.

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

Для управления риском, можно расширить диапазон каналов, снизить частоту открытия позиций. Или добавить модуль управления позициями, чтобы динамично регулировать позиции в зависимости от размера капитала.

Оптимизация стратегии

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

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

  2. Добавление фундаментальных фильтров. При использовании технических показателей, которые вызывают условия для открытия позиций, следует оценивать фундаментальные и важные события компании и избегать отклонений.

  3. В сочетании с управлением фондовым пулом. Установка правил отбора акций, динамическая корректировка фондового пула. Выбор оптимального фондового пула на разных этапах, повышение стабильности.

  4. В сочетании с моделями машинного обучения. С помощью AI прогнозируются тенденции и ключевые ценовые точки, которые помогают определить диапазон каналов и время открытия позиций.

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

Стратегия представлена в виде краткого и эффективного обзора. Используя среднюю линию, чтобы определить большую тенденцию, японская рыбка определяет направление силы, быстро прыгает в поле, быстро останавливает и останавливает убытки.

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

//@version=2
strategy("Kana with S/R Strategy", title = "KANA with S/R", overlay=true)

len = input(20, minval=1, title="Length")
multiplier1 = input(1, minval=1, title="multiplier1")
multiplier2 = input(2, minval=1, title="multiplier2")
multiplier3 = input(3, minval=1, title="multiplier3") 
srTimeFrame = input(240, minval=1, title="Support Resistance TimeFrame")
useSR = input(true, type = bool, title="Use Support/Resistance")
tpPercent = input(0.5, type=float, title = "Take Profit Percent")
useTP = input(false, type=bool, title = "Use Take Profit")
tp = (close * tpPercent / 100) / syminfo.mintick

src = input(close, title="Source")
mid = sma(src, len)
plot(mid, title="SMA", color=blue)

trend = ema(close, 200)
plot(trend, title="Trend", color=green)


upper1 = mid + atr(200) * multiplier1
upper2 = mid + atr(200) * multiplier2
upper3 = mid + atr(200) * multiplier3

lower1 = mid - atr(200) * multiplier1
lower2 = mid - atr(200) * multiplier2
lower3 = mid - atr(200) * multiplier3

plot(upper1, color = orange)
plot(upper3, color = red)

plot(lower1, color = orange)
plot(lower3, color = red)

haClose = request.security(heikinashi(syminfo.tickerid), timeframe.period, close)
haOpen = request.security(heikinashi(syminfo.tickerid), timeframe.period, open)

resistance = request.security(syminfo.tickerid,tostring(srTimeFrame), high)
support  = request.security(syminfo.tickerid,tostring(srTimeFrame), low)
rsPos = (close - support[srTimeFrame]) / (resistance[srTimeFrame] - support[srTimeFrame])

MACD = ema(close, 120) - ema(close, 260)
aMACD = ema(MACD, 90)
hisline = MACD - aMACD

longCondition = (mid > trend) and (haOpen[1] < haClose[1]) and (mid > mid[1]) and (close < upper1) and hisline > 0 and (useSR == true ? (rsPos > 100) : true)
shortCondition = (mid < trend) and (haOpen[1] > haClose[1]) and (mid < mid[1]) and (close > lower1) and hisline < 0 and (useSR == true ? (rsPos < 0) : true)

longExit = (close > upper3 ) or (close < lower2)
shortExit = (close < lower3) or (close > upper2)

if (longCondition)
    strategy.entry("Long", strategy.long)
    if (useTP)
        strategy.exit("Exit Long", "Long", profit = tp)
        
if (longExit)
    strategy.close("Long")
    
if (shortCondition)
    strategy.entry("Short", strategy.short)
    if (useTP)
        strategy.exit("Exit Short", "Short", profit = tp)
    
if (shortExit)
    strategy.close("Short")