Стратегия следования за трендом на основе паттерна ICHIMOKU и индикатора STOCH


Дата создания: 2023-11-15 11:19:29 Последнее изменение: 2023-11-15 11:19:29
Копировать: 1 Количество просмотров: 650
1
Подписаться
1617
Подписчики

Стратегия следования за трендом на основе паттерна ICHIMOKU и индикатора STOCH

Обзор

Эта стратегия основана на ICHIMOKU и STOCH, которые позволяют оценивать и отслеживать тенденции.

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

Эта стратегия основана на определении направления текущих тенденций с помощью ICHIMOKU Cloud Graph и STOCH Indicator, а также на преодолении перепродажи.

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

В коде Conversion Line переводная линия определяется как среднее значение наивысшей цены и наименьшей цены на линии K около N1; Base Line - среднее значение наивысшей цены и наименьшей цены на линии K около N2. Позитивный сигнал создается, когда переводная линия пересекает базовую.

В Stoch-индикаторе определены линейные и линейные отступления, а также параметры сглаживания K и D. Stoch создает позитивный сигнал при отскоке от зоны перепродажи и позитивный сигнал при отходе от зоны перепродажи.

В этой стратегии используются два показателя, позволяющие определить направление тенденции.

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

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

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

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

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

Основные риски этой стратегии:

  1. Системный риск сбоя показателей при внезапном появлении черных лебедей.

  2. Существует определенная отсталость, риск пропускать часть рынка или открывать позиции в обратном направлении.

  3. Существует определенная субъективность в комплексных суждениях о многофакторных параметрах, и неправильная настройка параметров может привести к риску ошибок.

  4. Если сделки часто происходят, то затраты на них оказывают определенное влияние на прибыль.

Соответствующие меры оптимизации:

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

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

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

  4. Увеличение стоп-стоп-лосса и снижение частоты торгов.

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

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

  1. Оптимизация циклических параметров конверсионной линии и базовой линии ICHIMOKU, чтобы они были более соответствующими характеристикам различных рынков.

  2. Оптимизация параметров сглаживания K, D и параметров перекупа и перепродажи на пороге.

  3. Добавление других показателей, формирование многофакторной модели, повышение системности стратегии.

  4. Оптимизация стоп-стоп-стоп, снижение частоты торговли и одновременная гарантированная прибыль.

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

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

Эта стратегия основана на ICHIMOKU Cloud Graph и Stoch Indicators, обеспечивает комплексное суждение о направлении тренда и опережающих перепродажах, что позволяет эффективно отслеживать тенденцию. Из-за учета графических и количественных показателей стратегия становится более систематической. В будущем стратегия может быть дополнительно оптимизирована путем оптимизации параметров, добавления других показателей и модуля для определения внезапных событий.

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

//@version=5
strategy("ICHI + STOCH V1", overlay=true)
length = input.int(20, minval=1)
smoothK = input(5)
smoothD = input(3)
OverBought = input(25)
OverSold = input(65)
Profit = input(1800)
Stop = input(1200)
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
co = ta.crossover(k,d)
cu = ta.crossunder(k,d)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(1, minval=1, title="Lagging Span")
conversionLine = math.avg(ta.lowest(conversionPeriods), ta.highest(conversionPeriods))
baseLine = math.avg(ta.lowest(basePeriods), ta.highest(basePeriods))
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = math.avg(ta.lowest(laggingSpan2Periods), ta.highest(laggingSpan2Periods))
TREND = ta.ema(math.avg(leadLine1,leadLine2),displacement)
//plot(conversionLine, color=#2962FF, title="Conversion Line")
//plot(baseLine, color=#B71C1C, title="Base Line")
//plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span")
plot(TREND, color=#2962FF, title="TREND")
p1 = plot(leadLine1,style=plot.style_line, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")

p2 = plot(leadLine2,style=plot.style_line, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))
close_price = ta.sma(close,1)
pc = plot(close_price,style=plot.style_line, color=#2a0ab9,
	 title="Price Close")
if (not na(k) and not na(d))
	if (co and k < OverSold)and(close_price > TREND)
		strategy.entry("BUY order", strategy.long, comment="BUY order")
		strategy.exit("exitBUY", "BUY order", profit = Profit, loss = Stop)
	if (cu and k > OverBought)and(close_price < TREND)
		strategy.entry("SELL order", strategy.short, comment="SELL order")
		strategy.exit("exitSELL", "SELL order", profit = Profit, loss = Stop)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)