Стратегия бэктестинга прогноза точки разворота осциллятора


Дата создания: 2023-12-20 13:44:26 Последнее изменение: 2023-12-20 13:44:26
Копировать: 0 Количество просмотров: 669
1
Подписаться
1621
Подписчики

Стратегия бэктестинга прогноза точки разворота осциллятора

Обзор

Эта стратегия основана на Pivot Point Forecast Oscillator, разработанном Тушаром Чанде. Этот показатель рассчитывает процентную разницу между ценой закрытия и ценой прогноза n периодических линейных регрессий. Когда прогнозная цена выше цены закрытия, показатель пробивается на 0, а когда прогнозная цена ниже цены закрытия, показатель пробивается на 0, что позволяет идентифицировать рыночные переломы.

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

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

  1. Вычислить n циклов линейной регрессии прогнозных цен xLG
  2. Расчет процентной разницы между ценой закрытия и прогнозной ценой xCFO
  3. Судить о зависимости процентной разницы xCFO от 0, выводить многомерный сигнал POSSIG
    1. xCFO > 0 и разрешено делать больше, possig = 1
    2. xCFO < 0 и допускается пробой, possig = -1
    3. В противном случае, possig = 0
  4. По сигналу POSSIG, сделайте больше или меньше.

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

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

Эта стратегия имеет следующие преимущества:

  1. Логика ясна, реализация понятна.
  2. Меньше параметров для удобства настройки.
  3. Гибкий выборный цикл, адаптированный к различным рынкам.
  4. Удобно переключаться в разных направлениях.
  5. Визуализация показателей, формирование четких торговых сигналов.

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

Однако эта стратегия также несет в себе некоторые риски:

  1. Прогнозы линейной регрессии иногда работают, но не всегда.
  2. Неправильный выбор параметров может привести к слишком частым сделкам.
  3. Неожиданные события могут привести к ошибочному сигналу.

Ответ:

  1. В сочетании с другими показателями, обеспечивает эффективность прогноза линейной регрессии.
  2. Оптимизация параметров, снижение частоты торгов.
  3. Добавление стратегий по сдерживанию убытков и борьба с единичными потерями.

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

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

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

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

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

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/03/2018
// The Chande Forecast Oscillator developed by Tushar Chande The Forecast 
// Oscillator plots the percentage difference between the closing price and 
// the n-period linear regression forecasted price. The oscillator is above 
// zero when the forecast price is greater than the closing price and less 
// than zero if it is below.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Chande Forecast Oscillator Backtest", shorttitle="CFO")
Length = input(14, minval=1)
Offset = input(0)
reverse = input(false, title="Trade reverse")
hline(0, color=black, linestyle=line)
xLG = linreg(close, Length, Offset)
xCFO = ((close -xLG) * 100) / close
pos = iff(xCFO > 0, 1,
       iff(xCFO < 0, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xCFO, color=red, title="CFO")