Стратегия обратного тестирования осциллятора прогноза по поводу ключевой точки

Автор:Чао Чжан, Дата: 2023-12-20 13:44:26
Тэги:

img

Обзор

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

Логика стратегии

Стратегия использует Осиллятор прогноза ключевых точек для определения направления рынка. В частности, она рассчитывает процентную разницу между прогнозируемой ценой линейной регрессии на n периоды и фактической ценой закрытия. Когда процентная разница превышает 0, она становится длинной. Когда процентная разница превышает 0, она становится короткой. Полная логика торговли следующая:

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

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

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

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

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

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

Стратегия также сопряжена с некоторыми рисками:

  1. Предсказание линейной регрессии имеет своевременность, может не поддерживать эффективность.
  2. Неправильный выбор параметров может привести к чрезмерной торговле.
  3. Чёрный лебедь может вызвать неправильные сигналы.

Противодействие:

  1. Сочетать с другими показателями для обеспечения достоверности прогноза линейной регрессии.
  2. Оптимизируйте параметры для снижения частоты торговли.
  3. Добавить стоп-лосс для контроля одиночных потерь.

Руководство по оптимизации

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

  1. Комбинировать с MA и другими индикаторами для обогащения торговых сигналов.
  2. Добавьте стоп-лосс, чтобы избежать больших потерь.
  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")

Больше