Стратегия торговли «Золотой час»


Дата создания: 2023-09-19 16:03:52 Последнее изменение: 2023-09-19 16:03:52
Копировать: 0 Количество просмотров: 742
1
Подписаться
1617
Подписчики

Обзор

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

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

  1. Используйте существующее время, чтобы получить текущее количество часов now_hour.

  2. Показатель ROC используется для вычисления показателя убыли и убыли на K-линии в час.

  3. Вычислить индикатор с помощью суммарного умножения now_hour buy_hourXindicator_cum。

  4. Вычислить сумму индикатора и buy_indicator_cum。

  5. Лучшее время для покупки buy_hour = buy_hourXindicator_cum / buy_indicator_cum。

  6. Также рассчитывается оптимальное время продажи sell_hour.

  7. Сравните now_hour с buy_hour и sell_hour, чтобы определить, является ли текущий момент наиболее оптимальным для покупки или продажи.

  8. Сигналы о покупке и продаже в оптимальные сроки.

  9. Показать лучшие моменты торгов в реальном времени с использованием различных цветов фона.

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

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

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

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

Наибольший риск этой стратегии заключается в том, что сам показатель ROC ограничен. ROC учитывает только изменение цены и не чувствителен к изменению объема торгов.

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

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

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

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

  1. Попробуйте заменить показатели ROC другими показателями, такими как объем торгов, и найдите более подходящий показатель для расчета сильных периодов времени.

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

  3. Оптимизация параметров временного цикла, проверка влияния различных параметров временного цикла на результаты.

  4. Увеличение механизмов сдерживания убытков, установление разумных точек сдерживания убытков, контроль риска торгов.

  5. В сочетании с методами машинного обучения, используя большие объемы данных для решения наиболее оптимальных торговых периодов.

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

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mablue (Masoud Azizi)

//@version=5
strategy("Trade Hour V3",overlay=false)
timezone = input.string("Europe/London",options=["America/New_York","America/Los_Angeles","America/Chicago","America/Phoenix","America/Toronto","America/Vancouver","America/Argentina" ,"America/El_Salvador","America/Sao_Paulo","America/Bogota","Europe/Moscow","Europe/Athens","Europe/Berlin","Europe/London","Europe/Madrid","Europe/Paris","Europe/Warsaw","Australia/Sydney","Australia/Brisbane","Australia/Adelaide","Australia/ACT","Asia/Almaty","Asia/Ashkhabad","Asia/Tokyo","Asia/Taipei","Asia/Singapore","Asia/Shanghai","Asia/Seoul","Asia/Tehran","Asia/Dubai","Asia/Kolkata","Asia/Hong_Kong","Asia/Bangkok","Pacific/Auckland","Pacific/Chatham","Pacific/Fakaofo","Pacific/Honolulu"]	)
source = input.source(close)
tp = input.int(1,"ROC Timeperiod")

now_hour = hour(time,timezone)

indicator = ta.roc(source,tp)

buy_hourXindicator_cum = ta.cum(indicator* now_hour)
buy_indicator_cum = ta.cum(indicator)
buy_hour = buy_hourXindicator_cum/buy_indicator_cum

sell_hourXindicator_cum = ta.cum( (1/indicator ) * now_hour)
sell_indicator_cum = ta.cum(1/indicator)
sell_hour = sell_hourXindicator_cum/sell_indicator_cum

plot(buy_hour,color=color.green)
plot(sell_hour,color=color.red)
plot(now_hour,color=color.gray,display=display.none)


bool isLongBestHour = now_hour==math.round(buy_hour)
bool isShortBestHour = now_hour==math.round(sell_hour)

bgcolor(isLongBestHour ? color.new(color.green,80) : na)
bgcolor(isShortBestHour ? color.new(color.red,80) : na)
strategy.order("buy", strategy.long, when =isLongBestHour)
strategy.order("sell", strategy.short, when = isShortBestHour)