Многофакторная стратегия разворотной торговли


Дата создания: 2023-09-20 15:13:58 Последнее изменение: 2023-09-20 15:13:58
Копировать: 1 Количество просмотров: 718
1
Подписаться
1617
Подписчики

Обзор

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

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

  1. Сначала используется система 123 обратного отсчета, которая объединяет отношения двух последовательных бар и Stochastic индикатора для определения обратного отсчета.

  2. Затем используется индикатор быстрого и медленного пика FSK для определения рыночных настроений. Этот индикатор определяет изменения в рыночной динамике торговли путем ускорения динамики.

  3. Комбинируя 123 обратную систему и FSK обратный индикатор, принимать обратную позицию, когда оба сигнализируют о обратном сигнале одновременно.

  4. Можно выбрать обратную сделку, когда исходный сигнал является многоголовым, принять пустой, когда исходный сигнал является пустым.

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

  1. Комбинация нескольких факторов может повысить точность сигнала и избежать ложного сигнала в одном показателе.

  2. Системы 123 и FSK являются взаимодополняющими и могут отслеживать возможности реверсии в разных временных измерениях.

  3. В общем, реверсная торговля может принести прибыль при резком повороте курса.

  4. Применение различных обратных факторов может повысить устойчивость стратегии.

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

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

  1. В результате, в результате сбоев, может произойти ошибочное восприятие обратного сигнала.

  2. Неправильное ориентирование в обратном направлении может привести к неудачам.

  3. Если реверсная торговля будет продолжаться, то она будет иметь убытки.

  4. Недостаточная оптимизация параметров может привести к пересчёту.

  5. Слишком высокая частота транзакций может привести к увеличению расходов на транзакции.

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

  1. Тестирование добавляет другие обратные факторы, такие как RSI, KD и т. д., богатые комбинациями.

  2. Оптимизация параметров, повышение чувствительности индикатора.

  3. Добавить фильтр тренда, чтобы избежать обратной торговли.

  4. Использование стратегии управления динамическими позициями для оптимизации эффективности использования капитала.

  5. Оптимизация стратегии по удержанию убытков, снижение убытков в разовом порядке.

  6. Оценить влияние затрат на транзакции и снизить их частоту.

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

Стратегия использует комбинацию 123 обратной системы и FSK-индикатора, чтобы совершать обратную торговлю при обратном движении цены. Можно отфильтровать ложные сигналы и повысить точность. Однако обратная стратегия подвержена риску обратной неопределенности. Необходимо постоянно оптимизировать параметры и должным образом контролировать размер позиции и частоту торговли, снижать риск и повышать стабильность.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/10/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This indicator plots the Fast & Slow Kurtosis. The Kurtosis is a market
// sentiment indicator. The Kurtosis is constructed from three different parts.
// The Kurtosis, the Fast Kurtosis(FK), and the Fast/Slow Kurtosis(FSK).
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

FSK(Triger) =>
    pos = 0.0
    xMOM_R = mom(mom(close, 3), 1)
    xMOM_RAvr = ema(xMOM_R, 65)
    xMOM_RWAvr = wma(xMOM_RAvr, 3)
    pos := iff(xMOM_RAvr > Triger and xMOM_RWAvr > Triger, 1,-1) 
    pos

strategy(title="Combo Backtest 123 Reversal & FSK (Fast and Slow Kurtosis)", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Triger = input(0, minval=0.001)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFSK = FSK(Triger)
pos = iff(posReversal123 == 1 and posFSK == 1 , 1,
	   iff(posReversal123 == -1 and posFSK == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )