Эта стратегия является типичной следующей за трендом стратегией. Она использует несколько наборов скользящих средних с разными периодами для определения рыночной тенденции. Она входит на рынок, когда установлена тенденция, и выходит, когда краткосрочная тенденция меняется.
Стратегия использует 4 группы скользящих средних: 9-дневные, 21-дневные, 50-дневные и 200-дневные линии.
Когда краткосрочная скользящая средняя пересекает долгосрочную вверх, определяется, что рынок вступает в восходящую тенденцию.
Стратегия использует 9-дневный МР как ориентир для наблюдения за соответствием других МР, тем самым оценивая общее направление тренда.
Условия длительного входа: закрыть > 9-дневный MA и 9-дневный MA > 21-дневный MA и 21-дневный MA > 50-дневный MA и 50-дневный MA > 200-дневный MA.
Условия кратковременного входа: Ближайший < 9-дневный MA и 9-дневный MA < 21-дневный MA и 21-дневный MA < 50-дневный MA и 50-дневный MA < 200-дневный MA.
Здесь соотношение между ценой закрытия и 9-дневным MA определяет кратковременный тренд, в то время как соотношение между 9-дневным и 21-дневным MA определяет краткосрочный тренд, 21-дневный и 50-дневный среднесрочный тренд, 50-дневный и 200-дневный долгосрочный тренд.
Условия выхода: цена закрытия переходит ниже 21-дневного MA, сглаживает все длинные позиции; переходит выше 21-дневного MA, сглаживает все короткие позиции.
Принятие нескольких МО для определения тенденции может отфильтровать рыночные шумы от нетрадиционных движений и отслеживать средне- и долгосрочные тенденции.
Строгие условия входа требуют действительных суждений в разные периоды времени, чтобы избежать попадания в ловушку краткосрочных исправлений.
Своевременное прекращение потерь помогает эффективно контролировать риски.
На долгосрочных рынках с ограниченным диапазоном могут возникать чрезмерные ложные сигналы и увеличивать торговые риски.
Во время бурных трендов часто происходят пересечения MA. Для определения реальной тенденции необходимы другие факторы, например, объединение таких индикаторов, как RSI и MACD для подтверждения, в случае если сильные движения будут пропущены.
Оптимизация параметров. Испытать различные комбинации параметров, чтобы узнать оптимальный. Например, корректировка периодов MA, добавление или изменение критериев остановки потери и т.д.
Улучшить фильтр качества. Например, проверить, если объем поднимается при входе, чтобы избежать недостаточного импульса, или изучить волатильность, чтобы избежать колебаний.
Внедрить подтверждение от более технических индикаторов, чтобы избежать неправильных сигналов на фоне резких рыночных движений.
В целом, это типичная и практичная стратегия следования трендам. Он использует несколько МА для определения тенденций, имеет строгие правила входа, чтобы блокировать средне- и долгосрочные тенденции. Вместе с своевременной остановкой потерь, он помогает контролировать риски. Дальнейшее улучшение стабильности и прибыльности может быть достигнуто такими способами, как оптимизация параметров и добавление индикаторов подтверждения. Он подходит для инвесторов, которые предпочитают следовать тренду для долгосрочной торговли.
/*backtest start: 2023-01-29 00:00:00 end: 2024-02-04 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © shayak1 //@version=5 strategy('Super SR', overlay=true) r = input.int(14,"rsi-length",1,100) rsi = ta.rsi(close,r) len1 = 9 len2 = 21 len3 = 50 len4 = 200 ema1 = ta.ema(close, len1) ema2 = ta.ema(close, len2) ema3 = ta.ema(close, len3) ema4 = ta.ema(close, len4) plot(ema1,color= color.green) plot(ema2,color= color.yellow) plot(ema3,color= color.orange) plot(ema4,color= color.red) // *** entries Long1 = close > ema1 Long2 = ema1 > ema2 Long3 = ema2 > ema3 Long4 = ema3 > ema4 buy_condition = Long1 and Long2 and Long3 and Long4 and strategy.position_size == 0 if (buy_condition and strategy.position_size <= 1) strategy.entry("B", strategy.long) Short1 = close < ema1 Short2 = ema1< ema2 Short3 = ema2< ema3 Short4 = ema3< ema4 sell_condition = Short1 and Short2 and Short3 and Short4 and strategy.position_size == 0 //if (sell_condition) // strategy.entry("S", strategy.short) // trailing SL //Long_sl = min(strategy.position_avg_price * 0.95, strategy.pos //EXIT CONDITIONS exit_long = ta.crossunder(close, ema2) exit_short = ta.crossover(close, ema2) if(exit_long) strategy.close("B", "LE", qty_percent=100) if(exit_short) strategy.close("S", "SE", qty_percent=100) //============================================================================== //INSERT SECTION //This section is where users will be required to insert the indicators they //would like to use for their NNFX Strategy. //============================================================================== //INSERT - CONFIRMATION INDICATOR 1 //============================================================================== //============================================================================== //INSERT - CONFIRMATION INDICATOR 2 //============================================================================== //============================================================================== //INSERT - VOLUME INDICATOR //============================================================================== //============================================================================== //INSERT - BASELINE INDICATOR //============================================================================== //============================================================================== //INSERT - EXIT INDICATOR //============================================================================== //============================================================================== //INSERT - CONTINUATION TRADES INDICATOR //============================================================================== //============================================================================== //COMPLETED SECTION //This section has been optimised to work with the above indicators the user //has inserted above. The user does not require to change any code below and //is completed and optimised for the full NNFX strategy. Users may wish to //customise this section of code if they wish to alter the NNFX strategy. //============================================================================== //COMPLETE - BACKTEST DATE RANGE //============================================================================== // start_day = input.int(1,"start day",1,31) // start_month = input.int(1,"start month",1,12) // start_year = input.int(1,"start year",2010,2023) //============================================================================== //COMPLETE - CURRENCY CONVERSION //============================================================================== //============================================================================== //COMPLETE - ATR MONEY MANAGEMENT //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - C1 //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - C2 //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - Vol //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - Bl //============================================================================== //============================================================================== //COMPLETE - USER INPUT CONDITIONS - Exit //============================================================================== //============================================================================== //COMPLETE - CONTINUATION TRADES //============================================================================== //============================================================================== //COMPLETE - ONE CANDLE RULE //============================================================================== //============================================================================== //COMPLETE - BRIDGE TOO FAR //============================================================================== //============================================================================== //COMPLETE - BASELINE AND ATR RULE //============================================================================== //============================================================================== //COMPLETE - ENTRY CONDITIONS //============================================================================== //============================================================================== //COMPLETE - ENTRY ORDERS //============================================================================== //============================================================================== //COMPLETE - TAKE PROFIT AND STOP LOSS CONDITIONS //============================================================================== //============================================================================== //COMPLETE - EXIT ORDERS //============================================================================== //============================================================================== //COMPLETE - CLOSE ORDERS //============================================================================== //==============================================================================