Контакт MA99 и динамическая стратегия стоп-лосса

SMA MA99
Дата создания: 2024-04-29 16:59:41 Последнее изменение: 2024-04-29 16:59:41
Копировать: 1 Количество просмотров: 1024
1
Подписаться
1617
Подписчики

Контакт MA99 и динамическая стратегия стоп-лосса

Обзор

Эта стратегия основана на 99-циклической простой движущейся средней ((MA99) для определения торговых сигналов. Позицию можно открыть, когда цена достигает MA99, без необходимости подтверждения двумя K-линиями. А стоп использует динамический стоп, то есть, когда цена прорывает MA99 и подтверждается в следующей K-линии.

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

  1. Вычислить 99-циклическую простую скользящую среднюю MA99
  2. Оценить, касается ли текущая цена MA99, то есть минимальная цена ниже, чем равна MA99, и максимальная цена выше, чем равна MA99 .
  3. Если цена касается MA99 и закрывается выше MA99, то делаем больше; если цена касается MA99 и закрывается ниже MA99, то делаем пустоту.
  4. Для многоочередных позиций, если цена закрытия опускается ниже MA99 и следующая K-линия подтверждается, то они будут “плохими”; для открытых позиций, если цена закрытия опускается ниже MA99 и следующая K-линия подтверждается, то они будут “плохими”.
  5. При каждом открытии позиции устанавливается текущая стоп-стоп цена MA99; после каждой ликвидации позиции устанавливается новая стоп-стоп цена.

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

  1. Простая: стратегия основана на одном показателе MA99, правила ясны, легко понятны и реализуемы.
  2. Динамический стоп: по сравнению с фиксированным стопом, динамический стоп может лучше адаптироваться к изменениям рынка и своевременно контролировать риск.
  3. Тренд-слежение: MA99 представляет собой среднесрочную и долгосрочную тенденцию, открывает позиции, когда цена достигает MA99, и может торговать в направлении основного тренда.
  4. Уменьшение шума: по сравнению с использованием средней линии с более коротким периодом, средняя линия с 99 периодами эффективно фильтрует короткосрочный волатильный шум.

Стратегический риск

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

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

  1. Введение фильтрации тренда: при определении сигналов открытия позиции, можно объединить с другими трендовыми показателями, такими как MACD, ADX и т. д., чтобы подтвердить силу и направление тренда, улучшить качество открытия позиции.
  2. Оптимизация параметров: оптимизация параметров, таких как цикл MA, условия остановки, для поиска оптимальной комбинации параметров, повышения устойчивости стратегии.
  3. Присоединение к управлению позициями: динамическая корректировка размеров позиций в зависимости от силы рыночных тенденций, волатильности и других факторов, контроль риска вывода.
  4. Учитывайте затраты на транзакции: в ретроспективных и реальных расчетах следует учитывать такие факторы, как торговые точки, комиссионные, чтобы оценить фактическую эффективность стратегии.

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

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

Исходный код стратегии
/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 00:00:00
period: 1d
basePeriod: 1h
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/


//@version=5
strategy("MA99 Temas ve Dinamik Stop-Loss Stratejisi", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// MA99 hesaplayalım
ma99 = ta.sma(close, 99)
plot(ma99, color=color.blue, title="MA99")

// Fiyatın MA99'a temas edip etmediğini kontrol edelim
priceTouchedMA99 = (low <= ma99 and high >= ma99)

// Long ve short koşullarını tanımlayalım
longCondition = priceTouchedMA99 and close > ma99
shortCondition = priceTouchedMA99 and close < ma99

var float longStopLoss = na
var float shortStopLoss = na

var int longStopTriggered = 0
var int shortStopTriggered = 0

// Alım veya satım sinyallerine göre işlemleri başlatalım ve stop-loss ayarlayalım
if (longCondition)
    strategy.entry("Long Entry", strategy.long)
    longStopLoss := ma99
    longStopTriggered := 0

if (shortCondition)
    strategy.entry("Short Entry", strategy.short)
    shortStopLoss := ma99
    shortStopTriggered := 0

// Stop-loss koşullarını ve iki mum kuralını kontrol edelim
if (not na(longStopLoss))
    if (close < longStopLoss)
        longStopTriggered := 1
    else
        longStopTriggered := 0

    if (longStopTriggered[1] == 1 and close < longStopLoss)  // Bir önceki mumda tetiklendi ve hala altında
        strategy.close("Long Entry", comment="Stop Loss Long")
        longStopLoss := na
        longStopTriggered := 0

if (not na(shortStopLoss))
    if (close > shortStopLoss)
        shortStopTriggered := 1
    else
        shortStopTriggered := 0

    if (shortStopTriggered[1] == 1 and close > shortStopLoss)  // Bir önceki mumda tetiklendi ve hala üstünde
        strategy.close("Short Entry", comment="Stop Loss Short")
        shortStopLoss := na
        shortStopTriggered := 0