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


Дата создания: 2024-02-27 14:49:58 Последнее изменение: 2024-02-27 14:49:58
Копировать: 0 Количество просмотров: 641
1
Подписаться
1617
Подписчики

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

Обзор

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

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

Двойная равнолиния следует стратегии, чтобы определить направление тренда, рассчитывая простую скользящую среднюю (SMA) на 14 и 28 циклов. В частности, она рассчитывает 14 и 28 циклов SMA для цены закрытия в конце каждого цикла.

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

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

Стратегия с двойной равномерной последовательностью имеет следующие преимущества:

  1. Простые в использовании и внедрении.
  2. В этом случае вероятность отступления ниже.
  3. Частота транзакций может контролироваться с помощью параметров цикличности.
  4. Можно гибко настроить риски, чтобы контролировать количество остановочных точек.

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

Однако есть и другие риски, связанные со стратегией “двойного равновесия”:

  1. Когда неожиданные события прерывают рыночную тенденцию, возможны большие потери.
  2. Если точка остановки будет слишком маленькой, может произойти преждевременная остановка.
  3. Если стоп-стоп устанавливается слишком высоко, то может быть увеличена степень потери.
  4. Частота транзакций может быть слишком высокой или слишком низкой, что влияет на эффективность финансирования.

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

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

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

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

  1. Увеличение показателя волатильности, динамическая коррекция стоп-стоп. Например, в сочетании с показателем ATR, расширение стоп-стоп при усилении волатильности рынка, избежание преждевременного стоп-стопа.

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

  3. Добавление фильтров тренда. Например, добавление MACD, DMI и других индикаторов, чтобы избежать ложных сигналов в конце тренда и уменьшить ненужные сделки.

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

  5. Многовидовые сделки. Применение стратегии к большему количеству сортов, используя нерелевантность для уменьшения общего ухода.

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

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

Исходный код стратегии
/*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"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © coinilandBot
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © adolgov

// @description
// 

//@version=4
strategy("coiniland  copy trading platform", overlay=true)

// random entry condition

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)

moneyToSLPoints(money) =>
    strategy.position_size !=0 ? (money / syminfo.pointvalue / abs(strategy.position_size)) / syminfo.mintick : na

p = moneyToSLPoints(input(200, title = "Take Profit $$"))
l = moneyToSLPoints(input(100, title = "Stop Loss $$"))
strategy.exit("x", profit = p, loss = l)

// debug plots for visualize SL & TP levels
pointsToPrice(pp) =>
    na(pp) ? na : strategy.position_avg_price + pp * sign(strategy.position_size) * syminfo.mintick
    
pp = plot(pointsToPrice(p), style = plot.style_linebr )
lp = plot(pointsToPrice(-l), style = plot.style_linebr )
avg = plot( strategy.position_avg_price, style = plot.style_linebr )
fill(pp, avg, color = color.green)
fill(avg, lp, color = color.red)