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


Дата создания: 2024-02-02 10:48:37 Последнее изменение: 2024-02-02 10:48:37
Копировать: 0 Количество просмотров: 457
1
Подписаться
1166
Подписчики

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

Обзор

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

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

1. Подвижная средняя

Используйте две движущиеся средние: быструю линию ((5-дневная линия) и медленную линию ((20-дневная линия)). Когда быстрая линия пересекает медленную линию, это сигнал покупки, а когда она пересекает ее, это сигнал продажи.

2. Случайные показатели

Параметры случайных индикаторов установлены следующим образом: K-линейный цикл 14, K-линейный плавный цикл 3, D-линейный плавный цикл 3. K-линия ниже 20 - зона перепродажи, более 80 - зона перепродажи.

3. Правила купли и продажи

Условия покупки: проход по скоростной линии и линии K <20 ((зона перепродажи) Условия продажи: быстрая линия через медленную и K-линию> 80 ((область перекупа)

При выполнении условий покупки покупают больше; при выполнении условий продажи продают меньше.

4. Параметры остановки ущерба

Покупая, вы устанавливаете 1%-ный стоп; продавая, вы устанавливаете 1%-ный стоп.

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

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

Риски и решения

  • Если вы столкнетесь с экстремальными событиями, вызванными чрезвычайными новостями, это может привести к большим убыткам. Для контроля риска можно установить стоп-линию.

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

  • Необходимо следить за тем, чтобы избежать критических моментов на фондовом рынке, так как цены могут перевернуться и привести к ошибочным сделкам.

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

  • Можно тестировать различные комбинации параметров, чтобы найти оптимальную комбинацию параметров. Например, тестировать эффективность комбинации движущихся средних разных длин.

  • В сочетании с другими аналитическими инструментами, такими как объем сделок, волатильность и т. д., можно установить фильтрующие условия, повышая прибыльность стратегии.

  • Можно изучить механизмы выбора акций, выбор акций с высоким уровнем доходности или индексов с повышенным весом, чтобы снизить риск отдельных акций.

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

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

Исходный код стратегии
/*backtest
start: 2024-01-25 00:00:00
end: 2024-02-01 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average and Stochastic Strategy 80% ", overlay=true)

// Moving Average Settings
maShortLength = input(5, title="Short MA Length")
maLongLength = input(20, title="Long MA Length")

// Stochastic Settings
stochLength = input(14, title="Stochastic Length")
smoothK = input(3, title="Stochastic %K")
smoothD = input(3, title="Stochastic %D")
stochOverbought = 80
stochOversold = 20

// Profit Target Settings
profitTarget = input(1, title="Profit Target (%)") // 1% profit target

// Calculate Moving Averages
maShort = sma(close, maShortLength)
maLong = sma(close, maLongLength)

// Calculate Stochastic
k = sma(stoch(close, high, low, stochLength), smoothK)
d = sma(k, smoothD)

// Entry Conditions
longConditionMA = crossover(maShort, maLong) and k < stochOversold
shortConditionMA = crossunder(maShort, maLong) and k > stochOverbought

// Opposite Conditions
oppositeLongConditionMA = crossunder(maShort, maLong) and k < stochOversold
oppositeShortConditionMA = crossover(maShort, maLong) and k > stochOverbought

// Strategy Logic
if (longConditionMA)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", "Buy", profit=close * (50 + profitTarget / 100))

if (shortConditionMA)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", "Sell", profit=close * (20 - profitTarget / 100))

// Opposite Strategy Logic
if (oppositeLongConditionMA)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Exit Sell", "Sell", profit=close * (50 - profitTarget / 100))

if (oppositeShortConditionMA)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Exit Buy", "Buy", profit=close * (20 + profitTarget / 100))

// Plot Moving Averages
plot(maShort, color=color.blue, title="Short MA")
plot(maLong, color=color.red, title="Long MA")

// Plot Stochastic
hline(stochOverbought, "Overbought", color=color.red)
hline(stochOversold, "Oversold", color=color.green)
plot(k, color=color.black, title="Stochastic %K")