Стратегия скачка цены с двойной скользящей средней


Дата создания: 2023-11-21 14:28:35 Последнее изменение: 2023-11-21 14:28:35
Копировать: 0 Количество просмотров: 586
1
Подписаться
1617
Подписчики

Стратегия скачка цены с двойной скользящей средней

Обзор

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

Стратегический принцип

  1. Показатели RSI для определения перекупа и перепродажи
  • RSI параметр установлен на 14 циклов
  • Сверхпродажная линия - 30, сверхпокупаемая - 70.
  1. Тенденции оценки средней линии SMA с использованием трех различных периодов
  • Быстрая линия представляет собой 9-циклический SMA, который представляет собой краткосрочный тренд.
  • Средняя линия - 50-циклическая SMA, которая представляет собой среднесрочную тенденцию
  • Медленная линия представляет собой 200-циклическую SMA, которая представляет собой долгосрочный тренд.
  1. Если вы видите, что RSI показывает перепродажу, то вы должны сделать дополнительный вход.

  2. Покупатель может сделать ставку, если он пересечет среднюю линию и RSI покажет, что он перекупил.

  3. Стоп-лошади установлены на 4% от цены входа

  4. Выигрыш осуществляется путем блокировки пакетов, сначала блокировки на 20%, а затем блокировки на 15% при продолжении роста цены и выхода из позиции.

Анализ преимуществ

  1. Средняя линия SMA с тремя различными циклами, позволяющая судить об изменении тренда в разные периоды времени
  2. Использование RSI позволяет избежать создания позиций в зонах, где нет перекупа и перепродажи
  3. Разделение стержней увеличивает циклы стратегических позиций, а также увеличивает среднюю прибыль от позиций

Анализ рисков

  1. Вероятность ошибочного сигнала от трех равномерных линий
  2. Опасность неполного закупки
  3. Необходимо выбрать подходящий сорт акций, подходящий для акций с большим количеством колебаний цен

Направление оптимизации стратегии

  1. Можно тестировать изменения средней и RSI параметров, оптимизировать вход и выход
  2. Можно добавить другие показатели, такие как фильтрация свечей, чтобы повысить точность стратегии.
  3. Динамическое отслеживание убытков позволяет контролировать риск.

Подвести итог

Эта стратегия, в сочетании с среднелинейным и RSI, является наиболее распространенной стратегией отслеживания тенденций. С помощью параметрового тестирования и добавления других вспомогательных показателей оценки можно дополнительно оптимизировать и повысить выигрышную вероятность стратегии.

Исходный код стратегии
/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
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/
// © syfuslokust

//@version=4
strategy(shorttitle='CoinruleCombinedCryptoStrat',title='CoinruleCombinedCryptoStrat', overlay=true)


// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
//Normal
oversold = input(30)
overbought =  input(70)
//ALGO
//oversold= input(26)
//overbought= input(80)

//sell pct
SellPct = input(20)
ExitPct = input(15)

//MA inputs and calculations
movingaverage_signal = sma(close, input(9))
movingaverage_fast = sma(close, input(50))
movingaverage_slow = sma(close, input(200))
movingaverage_mid= sma(close, input(100))

//Look Back
inp_lkb = input(12, title='Lookback Long Period')
inp_lkb_2 = input(2, title='Lookback Short Period')
 
perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100

//Entry 

//MA
bullish = crossover(movingaverage_signal, movingaverage_fast)
//Execute buy
strategy.entry(id="long", long = true, when = (RSI < oversold and movingaverage_fast < movingaverage_mid))

//when = crossover(close, movingaverage_signal) and movingaverage_signal < movingaverage_slow and RSI < oversold)

//Exit

//RSI
Stop_loss= ((input (4))/100)
longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
//MA
bearish = crossunder(movingaverage_signal, movingaverage_fast)
//Execute sell
strategy.close("long", qty_percent = SellPct, when = RSI > overbought and movingaverage_fast > movingaverage_mid)
//when = (crossunder(low, movingaverage_signal) and movingaverage_fast > movingaverage_slow and RSI > overbought) or (movingaverage_signal < movingaverage_fast and crossunder(low, movingaverage_fast)) or (low < longStopPrice))


//PLOT
plot(movingaverage_signal, color=color.black, linewidth=2, title="signal")
plot(movingaverage_fast, color=color.orange, linewidth=2, title="fast")
plot(movingaverage_slow, color=color.purple, linewidth=2, title="slow")
plot(movingaverage_mid, color=color.blue, linewidth=2, title="mid")