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


Дата создания: 2023-10-31 14:53:50 Последнее изменение: 2023-10-31 14:53:50
Копировать: 1 Количество просмотров: 674
1
Подписаться
1617
Подписчики

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

Обзор

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

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

Эта стратегия создает многогранный канал на ценовой графике, вводя средние линии EMA разных периодов, такие как 3-циклические, 7-циклические и 13-циклические EMA. Многосигналы генерируются, когда цена пересекает несколько средних линий EMA выше; многосигналы генерируются, когда цена пересекает несколько средних линий EMA ниже. Это позволяет исключить много ложных прорывов.

В коде определяется верхний проходный сигнал через close>ema1 and ema1>ema2 and ema2>ema3, close

Стратегические преимущества

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

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

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

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

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

  1. Оптимизируйте циклические параметры передвижной средней и найдите оптимальную комбинацию параметров

  2. При включении обратных сигналов, таких как RSI, MACD и т. Д., в точку перехода в тренде, чтобы вовремя остановить убыль

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

  4. Оптимизация для различных сортов, повышение адаптивности стратегий

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

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

Исходный код стратегии
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 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/
// © Crypto-Oli

//@version=4
strategy("BLANK Strategy + TSL", initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, pyramiding=1, commission_value=0.075, overlay=true)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////


/// YOUR INPUTS BELOW - DELET EXAPLES ///


ema1=ema(close,input(3))
ema2=ema(close,input(7))
ema3=ema(close,input(13))


/// PLOTS IF YOU NEED BELOW - DELET EXAPLES ///


plot(ema1, "EMA1", color.yellow)
plot(ema2, "EMA2", color.white)
plot(ema3, "EMA3", color.blue)


/// YOUR CONDITIONS BELOW - DELET EXAPLES ///


longCondition = close>ema1 and ema1>ema2 and ema2>ema3 and time_cond
shortCondition = close<ema1 and ema1<ema2 and ema2<ema3 and time_cond

/// EXECUTION ///


if (longCondition)
    strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick)

if (shortCondition)
    strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick)