Стратегия входа в Ишимоку


Дата создания: 2024-01-31 15:23:21 Последнее изменение: 2024-01-31 15:23:21
Копировать: 0 Количество просмотров: 665
1
Подписаться
1617
Подписчики

Стратегия входа в Ишимоку

Обзор

Ichimoku Entries - это количественная стратегия, которая использует индикатор Ichimoku Cloud Graph, чтобы определить направление тренда, и в сочетании с Brin Belt, RSI, чтобы дать торговый сигнал. Эта стратегия основана на десятичной линии и золотом форке на базовой линии, чтобы определить, находится ли рынок в плюсовой или пустой форме, что создает входные сигналы для длинных и коротких позиций.

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

Стратегия основана на использовании двух важных линий на карте облаков Ичимоку: десятиконечной сдвиги и базисной линии. Десятиконечной сдвиги - это среднее значение наивысшей и наименьшей цены за последние 9 дней, что представляет собой краткосрочную тенденцию. Базовая сдвига - это среднее значение наивысшей и наименьшей цены за последние 26 дней, что представляет собой среднесрочную тенденцию.

Помимо диаграммы облаков Ичимоку, стратегия также обнаруживает пояса Бурин и RSI, чтобы подать торговый сигнал. Только когда цена закрытия прорывает пояса Бурин вверх или вниз, это показывает, что цена является аномальной; в сочетании с RSI, чтобы определить, находится ли она в зоне перепродажи, отфильтровывая некоторые ложные прорывы, чтобы создать сигнал входа.

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

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

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

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

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

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

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

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

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

Стратегия Ichimoku Entries - это стратегия для отслеживания тенденций, объединяющая несколько показателей. Она одновременно определяет направление тенденции и ценовые аномалии, чтобы более надежно уловить рыночную ритмику. Хотя есть еще место для улучшения, в целом это количественная торговая стратегия, которая демонстрирует стабильную, контролируемую риск.

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

//@version=5
strategy("ichi strategy", overlay=true)

// Input parameters
rsiLength = input(14, title="RSI Length")
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2, title="Bollinger Bands Multiplier")
stopLossPct = input(1, title="Stop Loss Percentage")
takeProfitPct = input(2, title="Take Profit Percentage")

// Calculate Ichimoku Cloud components
tenkan = ta.sma(high + low, 9) / 2
kijun = ta.sma(high + low, 26) / 2
senkouA = (tenkan + kijun) / 2
senkouB = ta.sma(high + low, 52) / 2

// Bollinger Bands
basis = ta.sma(close, bbLength)
upperBB = basis + bbMultiplier * ta.stdev(close, bbLength)
lowerBB = basis - bbMultiplier * ta.stdev(close, bbLength)

// RSI
rsiValue = ta.rsi(close, rsiLength)

// Trade Proximity Oscillator
length = input(14, title="Channels Length")
multiplier = input(2, title="Channels Multiplier")
atr_length = input(14, title="ATR Length")
threshold_percentage = input(1.5, title="Threshold Percentage (%)")

ma = ta.sma(close, length)
std_dev = ta.stdev(close, length)
upper_band = ma + multiplier * std_dev
lower_band = ma - multiplier * std_dev
distance_upper = close - upper_band
distance_lower = lower_band - close
atr_value = ta.atr(atr_length)
threshold = atr_value * threshold_percentage
oscillator = distance_upper - distance_lower

// Strategy logic
longCondition = close > upperBB and tenkan > kijun and ta.crossover(close, basis) and rsiValue < 70
shortCondition = close < lowerBB and tenkan < kijun and ta.crossunder(close, basis) and rsiValue > 30

strategy.entry("Long", strategy.long, when = longCondition)
strategy.entry("Short", strategy.short, when = shortCondition)

// Exit logic
longExitCondition = close < upperBB and ta.crossover(oscillator, 0)
shortExitCondition = close > lowerBB and ta.crossunder(oscillator, 0)

strategy.exit("Take Profit/Stop Loss", from_entry="Long", loss=close - close * stopLossPct / 100, profit=close + close * takeProfitPct / 100, when = longExitCondition)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", loss=close + close * stopLossPct / 100, profit=close - close * takeProfitPct / 100, when = shortExitCondition)

// Plotting
plot(senkouA, color=color.green, title="Senkou A")
plot(senkouB, color=color.red, title="Senkou B")
plot(upperBB, color=color.blue, title="Upper Bollinger Band")
plot(lowerBB, color=color.blue, title="Lower Bollinger Band")

// Additional Plots
plot(tenkan, color=color.orange, title="Tenkan")
plot(kijun, color=color.purple, title="Kijun")