Эта стратегия объединяет стратегию 123 реверсии и стратегию будущих линий демаркации (FLD) для реализации количественной торговой стратегии, которая входит или выходит из позиций, когда обе стратегии генерируют сигналы одновременно.
Стратегия 123 возникает из книги "Как я утроил свои деньги на фьючерсном рынке". Она длится, когда цена закрытия показывает обратные модели в течение двух дней подряд, а 9-дневная медленная стохастика ниже 50; она становится короткой, когда цена закрытия показывает обратные модели в течение двух дней подряд, а 9-дневная быстрая стохастика выше 50.
Стратегия фьючерсных линий демаркации (FLD) - это стратегия, основанная на периодичности колебаний цен.
Эта стратегия сочетает в себе стратегии обратного и следующего за трендом, захватывая как краткосрочные возможности обратного движения, так и средне-длинные направления тренда в нескольких временных рамках для количественной торговли. Элемент обратного движения обеспечивает краткосрочные шансы на получение прибыли, а часть, следующая за трендом, гарантирует, что общая торговля соответствует тренду, эффективно контролируя торговые риски. Кроме того, адаптивный характер FLD также повышает стабильность стратегии.
Основные риски этой стратегии возникают из-за ложных прорывов сигналов отмены и ошибок в суждениях о линии FLD. Для первых параметры могут быть скорректированы для подтверждения сигналов отмены или добавления других вспомогательных индикаторов для улучшения точности. Для последних параметры должны быть оптимизированы, чтобы гарантировать, что FLD более точно описывает рыночные циклы. Кроме того, следует также следить за ошибками FLD при возникновении крупных перемены тренда.
Эта стратегия сочетает в себе концепции обратного движения и следующего за трендом для стабильной прибыли в средне-короткосрочные сроки.
/*backtest start: 2022-12-01 00:00:00 end: 2023-12-07 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 28/08/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 // An FLD is a line that is plotted on the same scale as the price and is in fact the // price itself displaced to the right (into the future) by (approximately) half the // wavelength of the cycle for which the FLD is plotted. There are three FLD's that can be // plotted for each cycle: // An FLD based on the median price. // An FLD based on the high price. // An FLD based on the low price. // // 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 FLD(Period,src) => pos = 0 pos := iff(src[Period] < close , 1, iff(src[Period] > close, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & FLD's - Future Lines of Demarcation", shorttitle="Combo", overlay = true) Length = input(15, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- Period = input(title="Period", defval=40) src = input(title="Source", type=input.source, defval=close) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posFLD = FLD(Period,src) pos = iff(posReversal123 == 1 and posFLD == 1 , 1, iff(posReversal123 == -1 and posFLD == -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 )