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


Дата создания: 2024-02-05 10:34:57 Последнее изменение: 2024-02-05 10:34:57
Копировать: 0 Количество просмотров: 602
1
Подписаться
1617
Подписчики

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

Обзор

Двухлинейная перекрестная стратегия является относительно простой количественной торговой стратегией. Она используется для вычисления средних цен закрытия последних 7 K-линий и средних цен закрытия 20 K-линий, которые делают больше, когда краткосрочная средняя линия пересекает долгосрочную среднюю линию снизу, а когда краткосрочная средняя линия пересекает долгосрочную среднюю линию сверху вниз, чтобы захватить переломные моменты среднесрочной тенденции рынка.

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

Центральная логика этой стратегии заключается в том, чтобы рассчитывать среднюю цену закрытия на последних 7 K-линий (без учета текущих K-линий) как краткосрочную среднюю цену, а среднюю цену закрытия на 20 K-линий (без учета последних 7 K-линий) как долгосрочную среднюю цену. Когда краткосрочная средняя линия сверху пересекает долгосрочную среднюю цену, это означает, что рынок выиграл; когда краткосрочная средняя линия сверху пересекает долгосрочную среднюю цену, это означает, что рынок выиграл.

После того, как будет задействовано много сигналов, открывайте позиции большего количества по всем средствам счета; после того, как будет задействовано много сигналов, открывайте позиции большего количества по всем позициям, а затем открывайте позиции большего количества по этому количеству. Каждая позиция после открытия позиции будет держать 20-25 K-линий, в течение этого периода, если произойдет убыток, будет прекращено половину позиции, если произойдет достаточная прибыль, будет прекращено половину позиции.

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

Это очень простая стратегия двойного равномерного скрещивания, преимущества которой заключаются в следующем:

  1. Мысли просты, легко понятны и реализуемы.
  2. Определение переломных точек среднесрочных тенденций рынка путем расчета перекрестков различных циклических средних линий - технический показатель, широко используемый во многих количественных стратегиях;
  3. Это позволяет эффективно отфильтровывать случайный шум на рынке и уловить среднесрочные тенденции.
  4. Эта стратегия особенно подходит для торговли на средних и длинных линиях, при этом на каждую позицию приходится 20-25 K-линий, что позволяет получить лучшую прибыльно-убыточную долю.
  5. Стратегия включает в себя механизмы стоп-лосса и стоп-стоп для управления рисками и блокировки прибыли.

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

Это более простая стратегия отслеживания тенденций, но она также имеет некоторые потенциальные риски:

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

Оптимизировать эти риски можно следующими способами:

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

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

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

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

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

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

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

  5. Добавление алгоритмов машинного обучения для постоянной оптимизации параметров стратегии с помощью обратного тестирования, что делает стратегию более стабильной.

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

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

Исходный код стратегии
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
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/
// © nrathi2211

//@version=5
strategy("Closing Prices", overlay=true)

//variables
closingB7 = ta.highest(close, 7)[7]
closingB14 = ta.highest(close, 7)[20]
highB14 = ta.highest(low, 50)[7]
capital = 50000

//functions
qty_find(float price) => capital / int(price)

profit_take() =>
    profit = strategy.opentrades.profit(strategy.opentrades - 1)
    profit*.95 

if(closingB7 < closingB14)
    if(ta.crossover(close, closingB7))
        strategy.entry("long_buy", strategy.long, qty_find(close))

    current_profit = strategy.opentrades.profit(strategy.opentrades - 1)
    if(current_profit < 0)
        strategy.close("Exit long_buy SL", "long_buy", qty_percent = 50)
    
    else if(current_profit < profit_take())
        strategy.close("Exit long_buy TP", "long_buy", qty_percent = 50)
    
    if(ta.crossunder(close, closingB7))
        strategy.exit("long_sell", from_entry = "long_buy", stop = closingB7)

plot(closingB7, "cl", color.green, 2)
//plot(closingB14, "cl", color.red, 2)
plot(highB14, "cl", color.purple, 2)