Интеллектуальная стратегия остановки потерь

Автор:Чао Чжан, Дата: 2024-01-25 12:50:12
Тэги:

img

Обзор

Принцип стратегии

Основная логика этой стратегии заключается в автоматической корректировке линии стоп-лосса на основе индикатора SAR. В частности, она определяет четыре переменные:

  • EP: Крайняя точка
  • SAR: текущая точка остановки потерь
  • Флаг восходящего тренда: для оценки того, является ли он в настоящее время восходящим или нисходящим трендом

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

Величина регулировки линии стоп-потери контролируется шаговым фактором AF. AF увеличивается, когда удачно устанавливается новая точка стоп-потери, тем самым увеличивая следующую величину регулировки.

Преимущества

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

В частности, существуют основные преимущества:

  1. Уменьшить максимальное извлечение: интеллектуальная корректировка линии остановки потери может выйти до обратного тренда для максимальной защиты реализованной прибыли
  2. Capture Trends: линия стоп-лосса будет корректироваться с новыми максимумами или минимумами и автоматически отслеживать тенденции цены
  3. Настраиваемые параметры: пользователи могут настраивать значение шага AF и начальное значение на основе своих собственных предпочтений риска для контроля чувствительности корректировок стоп-лосса

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

Для этой стратегии также существуют некоторые риски:

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

Руководство по оптимизации

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

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

Заключение

Интеллектуальная стратегия отслеживания стоп-лосса регулирует позиции линии стоп-лосса в режиме реального времени, имитируя операционную логику индикатора SAR. В то же время защищая прибыль, она также минимизирует вероятность упущенных возможностей.

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

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


/*backtest
start: 2024-01-17 00:00:00
end: 2024-01-24 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Lucid SAR Strategy", shorttitle="Lucid SAR Strategy", overlay=true)

// Full credit to Sawcruhteez, Lucid Investment Strategies LLC and Casey Bowman.
// This is a strategy version of the Lucid SAR indicator created by the above-mentioned parties.
// Original version of the indicator: https://www.tradingview.com/script/OkACQQgL-Lucid-SAR/

// Branded under the name "Lucid SAR" 
// As agreed to with Lucid Investment Strategies LLC on July 9, 2019
// https://lucidinvestmentstrategies.com/


// Created by Casey Bowman on July 4, 2019

// MIT License

// Copyright (c) 2019 Casey Bowman

// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:

// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.


AF_initial = input(0.02)
AF_increment = input(0.02)
AF_maximum = input(0.2)


// start with uptrend
uptrend = true
newtrend = false
EP = high
SAR = low
AF = AF_initial

if not na(uptrend[1]) and not na(newtrend[1])
    if uptrend[1]
        EP := max(high, EP[1])
    else
        EP := min(low, EP[1])
    if newtrend[1]
        AF := AF_initial
    else
        if EP != EP[1]
            AF := min(AF_maximum, AF[1] + AF_increment)
        else
            AF := AF[1]
    SAR := SAR[1] + AF * (EP - SAR[1])
    if uptrend[1]
        if newtrend
            SAR := max(high, EP[1])
            EP := min(low, low[1])
        else
            SAR := min(SAR, low[1])
            if not na(low[2])
                SAR := min(SAR, low[2])
            if SAR > low
                uptrend := false
                newtrend := true
                SAR := max(high, EP[1])
                EP := min(low, low[1])
            else
                uptrend := true
                newtrend := false
    else
        if newtrend
            SAR := min(low, EP[1])
            EP := max(high, high[1])
        else
            SAR := max(SAR, high[1])
            if not na(high[2])
                SAR := max(SAR, high[2])
            if SAR < high
                uptrend := true
                newtrend := true
                SAR := min(low, EP[1])
                EP := max(high, high[1])
            else
                uptrend := false
                newtrend := false
            
        

plot(SAR, color = color.blue, style = plot.style_cross, linewidth = 2)

if (uptrend)
    strategy.entry("PBSARLE", strategy.long, comment="PBSARLE")
if (newtrend)
    strategy.entry("PBSARSE", strategy.short, comment="PBSARSE")

Больше