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

Автор:Чао Чжан, Дата: 2024-02-26 11:10:23
Тэги:

img

Обзор

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

Принцип стратегии

Основным показателем этой стратегии является стохастический осциллятор.

Low = the lowest low of the most recent N days  
High = the highest high of the most recent N days
K value = (Current close – Low)/(High – Low)*100

где N - длина Length. Этот показатель примерно отражает положение текущей цены закрытия по отношению к диапазону цен за последние N дней.

Когда значение K больше линии перекупленности (BuyBand), это указывает на то, что акции могут быть перекуплены и произойдет обратный звонок. Когда значение K меньше линии перепроданности (SellBand), это указывает на то, что акции могут быть перепроданы и произойдет отскок.

Согласно этому правилу суждения, стратегия будет продавать, чтобы открыть позицию в зоне перекупленности, и покупать, чтобы открыть позицию в зоне перепроданности. Заключительное условие заключается в том, что линия индикатора вновь входит в промежуточную зону ((SellBand, BuyBand)).

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

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

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

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

Стратегия также сопряжена с некоторыми рисками:

  1. Движущиеся средние склонны к ложным изменениям, возможно, быть "сбитыми"
  2. Неправильное настройка параметров может привести к частой торговле или неясным сигналам
  3. Рассматривается только один показатель, ограниченное пространство для оптимизации

Эти риски можно уменьшить путем надлежащей оптимизации параметров показателей или добавления условий фильтрации.

Руководство по оптимизации

К основным аспектам, которые могут быть оптимизированы в этой стратегии, относятся:

  1. Добавление объема или ATR и других показателей для обеспечения более надежных торговых сигналов
  2. Добавление индикаторов Stoch нескольких циклов, генерация сигналов с помощью сложных операций
  3. Увеличить количество дополнительных показателей оценки, таких как MACD и KDJ, для достижения агрегации по нескольким показателям
  4. Проходить и оптимизировать торговые сорта, циклы, параметры, чтобы найти оптимальную конфигурацию

Заключение

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/09/2017
// Simple Overbought/Oversold indicator
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Overbought/Oversold", shorttitle="OB/OS")
Length = input(10, minval=1)
BuyBand = input(0.92, step = 0.01)
SellBand = input(0.5, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyBand, color=green, linestyle=line)
hline(SellBand, color=red, linestyle=line)
xOBOS = stoch(close, high, low, Length)
nRes = iff(close > close[Length], xOBOS / 100, (100 - xOBOS) / 100)
pos = iff(nRes < SellBand, -1,
	   iff(nRes > BuyBand, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="OB/OS")

Больше