В процессе загрузки ресурсов... загрузка...

Многомерная система анализа стратегии аномалии золотой пятницы

Автор:Чао Чжан, Дата: 2024-12-12 16:32:12
Тэги:М.А.РСИROCSLТПMACDЕМАРискВНПATR

img

Обзор

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

Принципы стратегии

Основная логика стратегии основана на нескольких ключевых элементах:

  1. Условия входа: вход в длинные позиции при закрытии в четверг на основе анализа исторических данных.
  2. Условия выхода: закрытие позиций в пятницу, с фиксированными периодами хранения.
  3. Управление деньгами: использует 10% от капитала счета за сделку, это консервативное размещение позиций помогает контролировать риск.
  4. Исполнение сделки: ордера исполняются по цене закрытия, избегая влияния волатильности внутридневного периода.

Преимущества стратегии

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

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

  1. Временная зависимость: Стратегия в значительной степени зависит от конкретных временных окна, может быть затронута важными новостями в неторговое время.
  2. Изменения рыночной среды: в будущем исторические статистические модели могут стать недействительными, что требует постоянного мониторинга эффективности стратегии.
  3. Риск исполнения: ликвидность может быть недостаточной в периоды закрытия, что приводит к увеличению скольжения. Предложения по управлению рисками:
  • Установка уровней стоп-лосса и уровня получения прибыли
  • Динамическое регулирование периодов хранения
  • Добавить условия фильтрации

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

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

Резюме

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


/*backtest
start: 2024-11-11 00:00:00
end: 2024-12-10 08:00:00
period: 4h
basePeriod: 4h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © piirsalu

//@version=5
strategy("Gold Friday Anomaly Strategy", 
     default_qty_type=strategy.percent_of_equity,
     slippage = 1, commission_value=0.0005,
     process_orders_on_close = true,
     initial_capital = 50000,
     default_qty_value=500,
     overlay = true)
     

/////////////////////////////////////////////////////////////////////////////////////
//                                 . USER INPUTS .                                 //
/////////////////////////////////////////////////////////////////////////////////////

// Define backtest start and end dates
st_yr_inp = input(defval=2000, title='Backtest Start Year')
st_mn_inp = input(defval=01, title='Backtest Start Month')
st_dy_inp = input(defval=01, title='Backtest Start Day')
en_yr_inp = input(defval=2025, title='Backtest End Year')
en_mn_inp = input(defval=01, title='Backtest End Month')
en_dy_inp = input(defval=01, title='Backtest End Day')

// Set start and end timestamps for backtesting
start = timestamp(st_yr_inp, st_mn_inp, st_dy_inp, 00, 00)
end = timestamp(en_yr_inp, en_mn_inp, en_dy_inp, 00, 00)

/////////////////////////////////////////////////////////////////////////////////////
//                              . STRATEGY LOGIC .                                 //
/////////////////////////////////////////////////////////////////////////////////////

// Check if the current day is Friday
isFriday = (dayofweek == dayofweek.friday)

// Initialize a candle counter
var int barCounter = 0

// Increment the candle counter on each new bar
barCounter := barCounter + 1

// Define trading session time ranges
pre_mkt = time(timeframe.period, '0400-0800:23456')
mkt_hrs = time(timeframe.period, '0800-1600:23456')
eod = time(timeframe.period, '1200-1600:23456')

/////////////////////////////////////////////////////////////////////////////////////
//                          . STRATEGY ENTRY & EXIT .                              //
/////////////////////////////////////////////////////////////////////////////////////

// Enter a long position on the first candle of Friday within the backtest period
if dayofweek == 4 and time >= start and time <= end
    strategy.entry("BuyOnFriday", strategy.long)

// Close the position after holding it for 4 candles
if (barCounter % 1 == 0)
    strategy.close("BuyOnFriday")



Связанные

Больше