
Эта квантовая торговая стратегия представляет собой комплексную торговую систему, объединяющую несколько технических индикаторов для захвата различных торговых возможностей на рынке. Основная часть системы состоит из трех основных индикаторов: Ичимоку (облачный график), относительно сильный индекс (RSI) и торговая величина, взвешенная подвижная средняя величина (VWMA), и использует динамические параметры остановок и остановок с реальной волатильностью (ATR).
Основным принципом этой стратегии является подтверждение торговых сигналов с помощью комбинации нескольких индикаторов, что повышает их надежность. В частности:
Компонент карты облака Ичимоку:
Индекс RSI: использует стандартный 14-циклический RSI для измерения динамики цен и перекупа и перепродажи
Индекс VWMA20-циклическая переменная средняя, используемая для подтверждения ценовых тенденций
Показатель ATR: используется для динамического настройки уровней стоп-лосс и стоп-стоп, адаптирующихся к волатильности рынка
В зависимости от выбранного типа стратегии система активирует различные логики генерации сигнала:
Каждый раз, когда генерируется торговый сигнал, система устанавливает динамические уровни остановок и остановок в зависимости от значения ATR, и по умолчанию устанавливает остановки в 1,5 раза ATR и остановки в 3,0 раза ATR, что обеспечивает управление рисками в соответствии с волатильностью рынка.
Механизм многомерного подтверждения: С помощью комбинации трех различных типов индикаторов, таких как Ичимоку, RSI и VWMA, подтверждение торговых сигналов в трёх измерениях - тренд, динамика и объем сделки, значительно снижает риск ложных сигналов.
Высокая степень адаптацииПакет стратегий предлагает четыре различных подстратегии, которые могут быть адаптированы к различным рыночным условиям, от трендовых до шокирующих рынков.
Динамическое управление рисками: Использование индикатора ATR для динамического настройки уровней стоп-лорда и стоп-стоп, позволяя управлению рисками автоматически адаптироваться к волатильности рынка, избегая неадекватности стоп-стоп-лорда с фиксированной точкой в различных волатильных условиях.
Механизм защиты от дублированияПредупреждение: предотвращение повторных сигналов в одном и том же направлении, сокращение ненужных затрат на транзакции путем отслеживания состояния предыдущего сигнала.
Визуальная помощьНа графике четко обозначены этикетками каждый торговый сигнал и его источники, что позволяет проводить анализ и мониторинг в режиме реального времени.
Модульный дизайн: четкая структура кода, функциональные модули разделены, что позволяет легко поддерживать и расширять, например, легко добавлять новые варианты политики или корректировать существующие параметры политики.
Параметр Чувствительность: Стратегия использует несколько технических показателей, каждый из которых имеет свои параметры, что делает стратегию более чувствительной к выбору параметров. Разные рынки или временные рамки могут потребовать разных комбинаций параметров, чтобы получить оптимальный эффект.
Риск отставания: Технические показатели по своей сути отстают, особенно показатели типа движущихся средних, что может привести к позднему вхождению в ближайшее время к поворотным точкам тренда. Решение заключается в том, чтобы рассмотреть возможность добавления некоторых ведущих показателей или сокращения цикла некоторых показателей, чтобы повысить своевременность сигналов.
Риски чрезмерной торговлиЧетыре стратегии могут приводить к частоте сигналов в определенных рыночных условиях, что приводит к чрезмерной торговле. Решение заключается в добавлении условий фильтрации сигналов или внедрении механизма охлаждения торгов, ограничивающего частоту торгов в короткие сроки.
Облачные карты объясняют сложностьИчимоку облачная карта - это относительно сложная система показателей, правильная интерпретация которой требует опыта. Решением является глубокое изучение принципов использования Ичимоку облачной карты или рассмотрение упрощения использования облачной карты, используя только ее основные компоненты.
RSI отклоняется от упрощенных суждений: В коде для определения отклонения от RSI используется упрощенный алгоритм, который может не зафиксировать все эффективные формы отклонения. Решение заключается в улучшении алгоритмов обнаружения отклонения с использованием более точного метода определения предельных значений.
Остановка остановки убытка фиксированная: Хотя с помощью ATR динамически устанавливается стоп-стоп, ATR-множитель для стоп-стоп-убытков является фиксированным и может не подходить для всех рыночных условий. Решение состоит в том, чтобы динамически корректировать ATR-множитель в зависимости от рыночной волатильности или типа стратегии, или внедрить мобильную стоп-стратегию.
Улучшение алгоритмов обнаружения отклонений: В текущем коде RSI отклонение использует упрощенный метод, который может повысить точность обнаружения отклонения путем реализации более сложных алгоритмов обнаружения пиковой долины. В частности, можно использовать показатель ZigZag или теорию деформации для идентификации ключевых поворотных точек цены и показателя, а затем сравнить их относительное положение, чтобы определить отклонение.
Добавить фильтр времени: многие рынки демонстрируют различные характеристики в разные периоды времени, можно добавить условия временного фильтра, включить или отключить определенные стратегии в определенные периоды торговли, чтобы избежать неэффективных периодов торговли.
Подтверждение увеличения громкости: Хотя в стратегии используется VWMA, можно дополнительно добавить прямой анализ объема сделок, например, требуя, чтобы объем сделок при создании сигнала был выше, чем средний объем сделок за предыдущие N циклов, чтобы повысить надежность сигнала.
Реализация адаптивных параметров: разработать ключевые параметры (например, RSI-температура, ATR-множественность и т. д.) для автоматической корректировки в зависимости от рыночных колебаний, например, использовать более свободные RSI-температуры и большие стоп-дистанции в высоко волатильных рынках и наоборот.
Присоединяйтесь к фильтру интенсивности трендаВнедрение индикаторов силы тренда, таких как ADX. Применение стратегии отслеживания тренда только при достаточно сильной тенденции, переход к реверсивной или шоковой стратегии при слабой тенденции, повышение адаптивности стратегии.
Реализация частичного управления позициями: текущая стратегия использует фиксированный размер позиции ((10% от суммы средств в счете по умолчанию), можно реализовать динамическое управление позицией на основе силы сигнала, волатильности рынка или кривой средств в счете, например, увеличение позиций при сильных сигналах и уменьшение позиций при высокой волатильности.
Добавлена функция Stop Loss TrackingВ дополнение к остановке с фиксированным кратным ATR, реализована функция Trailing Stop, которая автоматически регулирует уровень остановки при движении цены в выгодном направлении, блокируя часть прибыли и давая цене достаточно места для дыхания.
Интеграция машинного обученияПодумайте об оптимизации параметров стратегии с помощью алгоритмов машинного обучения или фильтрации сигналов, например, с использованием случайных лесов или поддержкой классификатора векторных машин для оценки надежности каждого сигнала и фильтрации низкокачественных сигналов.
Комплексная многопоказательная торговая система - это полнофункциональный, гибко разработанный набор количественных торговых стратегий, который предоставляет трейдерам решение для решения различных рыночных условий путем интеграции трех основных технических показателей - Ичимоку, RSI и VWMA, а также в сочетании с динамическим управлением рисками ATR. Основные преимущества этой стратегии заключаются в многомерном механизме подтверждения сигналов, гибкости выбора стратегии и динамических методах управления рисками, которые в совокупности повышают грубость и адаптивность стратегии.
В то же время, мы также должны признать, что существуют риски в стратегии, такие как чувствительность параметров, задержка сигнала и упрощение отклонения от решения. В ответ на эти риски мы предложили несколько направлений оптимизации, включая улучшение алгоритмов обнаружения отклонения, добавление фильтров времени, реализацию параметров адаптации и добавление функции стоп-трассы. Эти меры оптимизации могут еще больше повысить производительность и стабильность стратегии.
В целом, эта система стратегий предоставляет трейдерам прочную торговую структуру, которая может быть использована как непосредственно в реальных сделках, так и в качестве основы для дальнейшей разработки и настройки стратегий. Благодаря постоянной оптимизации и адаптации, эта стратегия может обеспечить стабильную торговую производительность в различных рыночных условиях.
/*backtest
start: 2024-06-30 00:00:00
end: 2025-06-28 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT","balance":50000000}]
*/
//@version=5
strategy("Ichimoku + RSI + VWMA Strategy Suite (w/ ATR SLTP)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === STRATEJI SECIMI === //
strategy_type = input.string("IchimokuRSITrend", options=["IchimokuRSITrend", "VWMA_RSIBounce", "DivergenceReversal", "FlatBreakout"], title="Strateji Tipi")
// === ATR PARAMETRESİ === //
atrLength = input.int(14, title="ATR Periyodu")
atrMultSL = input.float(1.5, title="Stop-Loss x ATR")
atrMultTP = input.float(3.0, title="Take-Profit x ATR")
atr = ta.atr(atrLength)
// === GÖSTERGE PARAMETRELERİ === //
rsi = ta.rsi(close, 14)
vwma = ta.vwma(close, 20)
// Ichimoku bileşenleri
tenkan = (ta.highest(9) + ta.lowest(9)) / 2
kijun = (ta.highest(26) + ta.lowest(26)) / 2
senkouSpanA = (tenkan + kijun) / 2
senkouSpanB = (ta.highest(52) + ta.lowest(52)) / 2
priceAboveCloud = close > senkouSpanA and close > senkouSpanB
priceBelowCloud = close < senkouSpanA and close < senkouSpanB
tenkanAboveKijun = tenkan > kijun
tenkanFlat = math.abs(tenkan - kijun) < 1.0
// RSI Divergence Etiketi (basit taklit)
rsiBullishDiv = ta.lowestbars(rsi, 5) < ta.lowestbars(rsi, 5)[1] and ta.lowestbars(close, 5) > ta.lowestbars(close, 5)[1]
rsiBearishDiv = ta.highestbars(rsi, 5) > ta.highestbars(rsi, 5)[1] and ta.highestbars(close, 5) < ta.highestbars(close, 5)[1]
// === SİNYAL TANIMLARI === //
var string prevSignal = "none"
longSignal = false
shortSignal = false
// === STRATEJİ 1: Ichimoku Bulut + RSI Momentum === //
if strategy_type == "IchimokuRSITrend"
longSignal := priceAboveCloud and tenkanAboveKijun and rsi > 50 and close > vwma and prevSignal != "long"
shortSignal := priceBelowCloud and not tenkanAboveKijun and rsi < 50 and close < vwma and prevSignal != "short"
// === STRATEJİ 2: VWMA Cross + RSI Aşırı Satım === //
if strategy_type == "VWMA_RSIBounce"
longSignal := ta.crossover(close, vwma) and rsi > 35 and tenkanAboveKijun and prevSignal != "long"
shortSignal := ta.crossunder(close, vwma) and rsi < 65 and kijun > tenkan and prevSignal != "short"
// === STRATEJİ 3: RSI Divergence + Ichimoku Reversal === //
if strategy_type == "DivergenceReversal"
longSignal := rsiBullishDiv and tenkanAboveKijun and vwma > close and prevSignal != "long"
shortSignal := rsiBearishDiv and kijun > tenkan and vwma < close and prevSignal != "short"
// === STRATEJİ 4: Flat Zone + RSI Breakout === //
if strategy_type == "FlatBreakout"
longSignal := tenkanFlat and rsi > 55 and close > vwma and prevSignal != "long"
shortSignal := tenkanFlat and rsi < 45 and close < vwma and prevSignal != "short"
// === STRATEJI GİRİŞ/ÇIKIŞLARI === //
if longSignal
strategy.entry("Long", strategy.long)
strategy.exit("TP/SL Long", from_entry="Long", stop=close - atr * atrMultSL, limit=close + atr * atrMultTP)
label.new(bar_index, low, strategy_type + " → LONG", style=label.style_label_up, color=color.green, textcolor=color.white)
prevSignal := "long"
if shortSignal
strategy.entry("Short", strategy.short)
strategy.exit("TP/SL Short", from_entry="Short", stop=close + atr * atrMultSL, limit=close - atr * atrMultTP)
label.new(bar_index, high, strategy_type + " → SHORT", style=label.style_label_down, color=color.red, textcolor=color.white)
prevSignal := "short"