Количественная торговая стратегия, основанная на пересечении скользящих средних


Дата создания: 2024-01-23 11:05:50 Последнее изменение: 2024-01-23 11:05:50
Копировать: 0 Количество просмотров: 505
1
Подписаться
1617
Подписчики

Количественная торговая стратегия, основанная на пересечении скользящих средних

Обзор

Эта стратегия построена на основе принципа золотой форки простой скользящей средней (SMA). Стратегия использует золотую форку 3-й линии и 5-й линии в качестве входного сигнала, чтобы остановить или остановить как выходный сигнал.

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

Стратегия основана на двух SMA, 3-й и 5-й линии. 3-я линия представляет собой краткосрочную тенденцию, а 5-я линия представляет собой более длительную среднесрочную тенденцию. Когда краткосрочный быстрый рост, то есть пересечение 5-й линии на 3-й линии, означает, что в настоящее время находится в повышении, в то время как вход в рынок больше; наоборот, когда краткосрочный быстрый спад, то есть пересечение 3-й линии под 5-й линией, означает, что в настоящее время находится в падении, в то время как вход в рынок пустой.

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

Эта стратегия имеет следующие преимущества:

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

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

Однако эта стратегия несет в себе определенные риски:

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

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

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

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Добавление средних линий для большего количества различных циклов, формирование многоуровневой фильтрации, повышение стабильности стратегии.
  2. Включение других технических показателей, таких как MACD, показатели силы и т. д., в качестве вспомогательного входа.
  3. Включайте суждения о тенденциях большого цикла, чтобы избежать долгосрочного падения.
  4. Оптимизация точек стоп-лосса, чтобы они лучше подстраивались под реальные колебания рынка.
  5. Тест с более длительным периодом отсчета для оценки стабильности параметров.

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

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

Исходный код стратегии
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 5h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Revolut v1.0", overlay=true)

// === GENERAL INPUTS ===
ATR = atr(3)
ema3 = ema(close, 3)
ema5 = ema(close, 5)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 2017)

// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => true// create function "within window of time"


// === PLOTTING ===
plot(ema3, title="Ema 3", color = white, linewidth = 2, transp=0)
plot(ema5, title="Ema 5", color = aqua, linewidth = 2, transp=0)



// === ENTRY POSITION LOGIC ===
entryCondition = crossover(ema(close, 3), ema(close, 5))
if (entryCondition)
    strategy.entry("ENTRY", strategy.long, when=window())
    

// === EXIT POSTION LOGIC ===
//strategy.exit("Take Profit", "ENTRY", profit=6, loss=5, when=window())
strategy.exit("Take Profi Or STOP", "ENTRY", profit = 6, loss = 5, when=window())
  

// #####################################
// We can start to incorperate this into the script later
// We can program a emergency exit price
//strategy.close_all()

// You can use this if you want another exit
//strategy.exit("2nd Exit", "ENTRY", profit=1500, stop=500, when=window())