Стратегия равнолинейного пересечения


Дата создания: 2023-11-23 16:42:58 Последнее изменение: 2023-11-23 16:42:58
Копировать: 0 Количество просмотров: 592
1
Подписаться
1617
Подписчики

Стратегия равнолинейного пересечения

Обзор

Стратегия пересечения средних линий производит торговый сигнал, рассчитывая пересечение средних линий SMA с двумя различными параметрами. Когда более быстрая средняя линия SMA проходит медленную среднюю линию SMA, создается сигнал покупки; когда более медленная средняя линия SMA проходит быструю среднюю линию SMA, создается сигнал продажи.

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

В этой стратегии используются две группы среднелинейных параметров SMA:smaB1smaB2иsmaS1smaS2smaB1иsmaB2Для определения покупательского сигнала они представляют собой медленную и быструю среднюю линию.smaB1Надень.smaB2Это означает, что у вас есть возможность купить.smaS1иsmaS2Используется для определения сигналов продажи, которые также представляют собой медленную и быструю среднюю линию.smaS2Снимай.smaS1Это позволяет гибко адаптировать условия покупки и продажи к различным рыночным условиям.

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

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

Основные преимущества этой стратегии:

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

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

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

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

Для управления вышеупомянутыми рисками можно улучшить такие методы, как оптимизация комбинации параметров SMA в сочетании с динамическими остановками для блокировки прибыли.

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-22 00:00:00
period: 5m
basePeriod: 1m
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/
// © melihtuna

//@version=4
strategy("SMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent)

smaB1 = input(title="smaB1",defval=377)
smaB2 = input(title="smaB2",defval=200)
smaS1 = input(title="smaS1",defval=377)
smaS2 = input(title="smaS2",defval=200)
smawidth = 2

plot(sma(close, smaB1), color = #EFB819, linewidth=smawidth, title='smaB1')
plot(sma(close, smaB2), color = #FF23FD, linewidth=smawidth, title='smaB2')
plot(sma(close, smaS1), color = #000000, linewidth=smawidth, title='smaS1')
plot(sma(close, smaS2), color = #c48dba, linewidth=smawidth, title='smaS2')

// === 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 = 2020, 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)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        
window()  => time >= start and time <= finish ? true : false 

longCondition = crossover(sma(close, smaB1),sma(close, smaB2))

if (window() and longCondition)
    strategy.entry("BUY", strategy.long)

shortCondition = crossover(sma(close, smaS2),sma(close, smaS1))

if (window() and shortCondition)
    strategy.entry("SELL", strategy.short)