Это долгосрочная торговая стратегия, которая сочетает в себе значения стохастического осциллятора K и экспоненциальных скользящих средних с двойными фильтрами. Она определяет возможности покупки, когда стохастический K пересекает D и входит в перепроданную территорию. Стратегия генерирует сигналы продажи, когда цены пересекают пересечение ниже скользящей средней, а стохастический K превышает порог, фильтруя нормальные отклонения от переворотов тренда.
Основная идея этой стратегии состоит в том, чтобы использовать стохастический K для синхронизации сигналов входа, а экспоненциальные скользящие средние для записи прибыли. Стохастический осциллятор хорош в обнаружении ситуаций перекупки / перепродажи, в то время как скользящие средние определяют тенденцию. Объединяя их, записи производятся на уровнях перепродажи, а прибыль отслеживается вдоль тренда с использованием скользящих средних.
Конкретно, эта стратегия рассчитывает 21-периодные стохастические значения K и D, а также 38-периодную EMA. Когда K пересекает выше D в зону перепроданности (по умолчанию 25), генерируется сигнал покупки. Когда цены пересекают ниже EMA и стохастический K выше порога фильтра (65), предполагается обратный тренд и позиция закрывается. Также реализуется правило стоп-лосса 13%.
С помощью двойных индикаторов и двойных фильтров эта стратегия эффективно отфильтровывает ложные сигналы. Покупка на перепроданных уровнях и отслеживание восходящего тренда может принести хорошую прибыль. Она подходит для средне- и долгосрочных холдингов.
Основными преимуществами этой стратегии являются:
Стохастический К определяет хорошие точки входа при переходе на перепроданную территорию.
Двойные фильтры К/Д и ценовые экстремалы эффективно избегают ложных сигналов.
Отслеживание прибыли с EMA в полной мере использует динамику роста.
Стохастическая система фильтрует нормальные отклонения от отклонений при учете прибыли.
Подходит для средне- и долгосрочных активов с хорошей рентабельностью.
Некоторые риски следует учитывать:
Системный риск - медвежие рынки могут привести к большим потерям.
Риск отклонения - временные отклонения цены могут преждевременно вызвать стоп-лосс MA.
Риск оптимизации параметров - неправильная настройка параметров влияет на производительность.
Риск черного лебедя - технические показатели не справляются с шоками рынка.
Некоторые способы оптимизации стратегии:
Оптимизировать параметры показателей посредством строгого обратного тестирования.
Добавьте другие методы остановки потери, такие как волатильность или остановка потери.
Включить другие показатели, такие как объем, полосы Боллинджера и т.д.
Испытать более короткие/длинные периоды скользящей средней.
Динамическое регулирование параметров на основе рыночных режимов.
Это в целом надежная стратегия, основанная на тренде. Она использует стохастику для определения входа, скользящего среднего до выхода и использует двойные фильтры для предотвращения ложных сигналов. Благодаря большой гибкости настройки параметров, средне- и долгосрочному удержанию и эффективности в улавливании тенденций, это эффективная стратегия торговли акциями.
/*backtest start: 2024-01-25 00:00:00 end: 2024-02-01 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // English version strategy(title='Stochastic & MA', overlay=false) // INPUTS : all default value have already been optimized length = input.int(21, 'period', minval=1) lossp = input.int(13, 'stop loss %', minval=2, step=1) leverage = input.int(1, 'leverage', minval=1, step=1) // leverage has been introduced for modifying stop loss levels for financial instruments with leverage, like ETF n = input(2, 'n days ago') filtro = input.int(65, 'k filter for throwbacks', minval=20, step=1) OverSold = input.int(25, 'Oversold value', minval=5, step=5) // Building indicators smoothK = input.int(6, 'k', minval=1) smoothD = input.int(4, 'd', minval=1) k = ta.sma(ta.stoch(close, high, low, length), smoothK) d = ta.sma(k, smoothD) //Empowerment: introducing EMA sma_period = input.int(38, 'periodo Sma', minval=1) emaf = ta.ema(close, sma_period) //ENTRY condition and order // First of all, it's better not trade shares with a quaterly loss or with a bad surprise towards to analysts' expectations or ipevaluated (P/E > 50), but on your choice // You entry when Stochastic's K is higher than D in Oversold area (you may personalize), applying the condition that today's close should be higher than one of n-days ago (default of the day before yesterday or 2 candles ago) entry1 = k > d and k <= OverSold and close >= close[n] strategy.entry('Long', strategy.long, comment='k basso', when=entry1) //EXIT CONDITIONS // 1) close crosses under exponential movinig average with filter that k >= fixed level (65), in order to distinguish a violent movement of prices with a possibile beginning of a trend from an almost exhausted "ordinary" throwback // 2) fixed stop loss on percentage exit1 = ta.crossunder(close, emaf) and k >= filtro losspel = strategy.position_avg_price * (1 - lossp / 100 * leverage) exit2 = close < losspel strategy.close('Long', when=exit1, comment='sma') strategy.close('Long', when=exit2, comment='stop loss') // plotting indicators (add Ema on your choice) plot(k, color=color.new(color.blue, 0), linewidth=1, title='k Stoch') plot(d, color=color.new(color.red, 0), linewidth=1, title='d stoch signal') plot(OverSold, title='Oversold', color=color.new(color.aqua, 0)) plot(filtro, color=color.new(color.gray, 0), title='k-filter for ema')