Стратегия комбинированного многофакторного реверсивного трейдинга

Автор:Чао Чжан, Дата: 2023-09-20 15:13:58
Тэги:

Обзор

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

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

  1. Во-первых, система 123 реверсии используется для определения сигналов реверсии цен, основанных на ценовом движении двух последовательных баров и стохастическом индикаторе.

  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 )

Больше