
Эта стратегия применяет принцип перекрестности многоуровневых движущихся средних, чтобы улавливать тенденции средне-длинных линий и получать стабильную прибыль. Стратегия использует три группы движущихся средних с разными параметрами: быстрые, средние и медленные, чтобы принимать торговые решения в зависимости от их перекрестности. Такая многоуровневая стратегия перекрестности движущихся средних, по сравнению с традиционной стратегией с двумя группами движущихся средних, может отфильтровать больше ложных сигналов и повысить вероятность победы стратегии.
В данной стратегии используются три группы движущихся средних: быстрое движение средних MAshort, среднее движение средних MAmid и медленное движение средних MAlong. Из них, параметр MAshort - 9, самый быстрый в реакции, используется для захвата коротких сигналов; параметр MAmid - 50, средняя скорость, используется для подтверждения тенденции; параметр MAlong - 100, самый медленный в реакции, используется для определения направления длинных тенденций.
Конкретная логика торговли стратегии заключается в следующем: когда среднескоростная MMAmid пересекает медленную MAlong, указывающая на то, что формируется повышающая динамика цены на акции, тогда стратегия делает больше; когда среднескоростная MMAshort пересекает среднескоростную MMAmid, показывает, что произошел поворот тенденции короткой линии, тогда стратегия плавно позиционирует.
Наибольшая преимущество этой стратегии заключается в том, что, используя комбинацию из нескольких групп движущихся средних, можно эффективно отфильтровывать ложные сигналы, выбирая только те, которые являются более сильными прорывами в тренде на среднюю и длинную линию.
Эта стратегия имеет следующие преимущества:
Также существуют риски:
В ответ на вышеуказанные риски мы будем расширять применение стратегии, в сочетании с максимальным отступлением от технического контроля. В случае, если средне-длинная линия будет переворачиваться, мы будем реагировать путем снижения позиции.
Эта стратегия может быть улучшена в следующих аспектах:
Эта стратегия относится к типичным средне-длинным линиям количественной стратегии, с помощью многоуровневой подвижной средней WebDriverWait == долгосрочной тенденции, чтобы контролировать риск торговли, чтобы получить устойчивую прибыль. По сравнению с одним показателем, эта стратегия объединяет несколько групп параметров, которые могут эффективно идентифицировать сильные средне-длинные трендовые сигналы.
/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 00:00:00
period: 1h
basePeriod: 15m
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/
// © Coinrule
//@version=4
strategy(shorttitle='Multi Moving Average Crossing',title='Multi Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
//MA inputs and calculations
inlong=input(100, title='MAlong')
inmid=input(50, title='MAmid')
inshort=input(9, title='MAfast')
MAlong = sma(close, inlong)
MAshort= sma(close, inshort)
MAmid= sma(close, inmid)
//Entry
bullish = crossover(MAmid, MAlong)
strategy.entry(id="long", long = true, when = bullish and window())
//Exit
bearish = crossunder(MAshort, MAmid)
strategy.close("long", when = bearish and window())
plot(MAshort, color=color.orange, linewidth=2)
plot(MAmid, color=color.red, linewidth=2)
plot(MAlong, color=color.blue, linewidth=2)