Вот статья, которую я попытался написать по вашему запросу:
Эта стратегия сочетает в себе стратегию 123 обращения и стратегию индикатора Bear Power. Торговые сигналы генерируются, когда оба дают сигналы покупки или продажи в том же направлении.
Стратегия состоит из двух частей:
123 Стратегия обращения вспять
Он генерирует сигналы покупки, когда цена закрытия вырывается вверх после двух последовательных дней снижения, и низкий индикатор Stoch отскакивает от низкого уровня; Он генерирует сигналы продажи, когда цена закрытия падает после двух последовательных дней роста, и высокий индикатор Stoch отскакивает от высокого уровня.
Стратегия индикатора медвежьей силы
Индикатор Bear Power отражает сравнение бычьих и медвежьих сил. Он генерирует сигналы продажи, когда выше установленной линии продажи, и генерирует сигналы покупки, когда ниже установленной линии покупки.
При объединении сигналов фактические торговые сигналы генерируются, если оба дают сигналы в одном направлении.
Сочетание сигналов обратного движения и индикаторных фильтров позволяет избежать ложных прорывов и улучшить качество сигнала.
Применяется для нескольких временных рамок, гибко адаптируется к различным рыночным условиям.
Составные стратегии могут использоваться отдельно или в сочетании с модульной конструкцией.
Сигналы обратного движения могут столкнуться с большими глубинами отступления.
Параметры индикатора Bear Power требуют повторного тестирования и оптимизации.
Многофакторные интегрированные стратегии имеют сложную настройку параметров и требуют большого количества исторических данных для тестирования.
Соедините больше источников данных с модулем объединения Quant, чтобы получить более длительный временной диапазон и более богатый набор данных.
Применение методов машинного обучения для автоматического поиска и оценки комбинаций параметров.
Добавить механизмы остановки потери для контроля потери на одной сделке.
Эта стратегия сочетает в себе технический анализ и количественные показатели для улучшения качества сигнала посредством двойного подтверждения.
/*backtest start: 2023-11-13 00:00:00 end: 2023-11-20 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 29/05/2019 // This is combo strategies for get // a cumulative signal. Result signal will return 1 if two strategies // is long, -1 if all strategies is short and 0 if signals of strategies is not equal. // // 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 // Bear Power Indicator // To get more information please see "Bull And Bear Balance Indicator" // by Vadim Gimelfarb. // // 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 BearPower(SellLevel, BuyLevel) => value = iff (close < open , iff (close[1] > open , max(close - open, high - low), high - low), iff (close > open, iff(close[1] > open, max(close[1] - low, high - close), max(open - low, high - close)), iff(high - close > close - low, iff (close[1] > open, max(close[1] - open, high - low), high - low), iff (high - close < close - low, iff(close > open, max(close - low, high - close),open - low), iff (close > open, max(close[1] - open, high - close), iff(close[1] < open, max(open - low, high - close), high - low)))))) pos = 0.0 pos := iff(value > SellLevel, -1, iff(value <= BuyLevel, 1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Bear Power", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- SellLevel = input(30) BuyLevel = input(3) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posBearPower = BearPower(SellLevel, BuyLevel) pos = iff(posReversal123 == 1 and posBearPower == 1 , 1, iff(posReversal123 == -1 and posBearPower == -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 ? red: possig == 1 ? green : blue )