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

Автор:Чао Чжан, Дата: 2023-09-26 16:00:20
Тэги:

Обзор

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

Логика стратегии

Основная логика этой стратегии включает в себя:

  1. Использование ввода для выбора временных рамок RENKO и периода ATR

  2. Вычислить цену и цвет RENKO. Переключитесь вверх, когда цена превышает предыдущую цену RENKO плюс текущий ATR. Переключитесь вниз, когда цена падает ниже предыдущей цены RENKO минус текущий ATR.

  3. Используйте два целых числа BUY и SELL для записи текущих длинных и коротких позиций.

  4. Если нет короткой позиции, то займите длинную, если уже короткая, то закрывайте короткую позицию. Если нет длинной позиции, то перейдите на короткую, если уже длинная, то закрывайте длинную позицию.

  5. График РЕНКО с использованием графика.

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

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

Эта стратегия имеет следующие преимущества:

  1. RENKO фильтрует шум и выявляет тенденции RENKO может эффективно отфильтровывать шум цен и идентифицировать значимые тенденции.

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

  3. Динамические остановки с ATR Использование ATR для динамического установления стоп-лосса может сделать стопы более разумными на основе текущей волатильности, избегая стопов слишком широких или слишком узких.

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

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

Стратегия также сопряжена с некоторыми рисками:

  1. Неправильное определение тенденции Способ определения трендов RENKO может привести к ненужным длинным или коротким.

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

  3. Неправильные параметры ATR Неправильное установление периода ATR также может привести к слишком широким или слишком тесным остановкам.

  4. Рынки с вилками На боковых или сильных рынках РЕНКО может генерировать много ненужных сделок, занимая капитал.

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

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

  1. Оптимизировать параметры RENKO и ATR
    Настраивайте эти параметры, чтобы минимизировать ложные сигналы РЕНКО и лучше улавливать тенденции.

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

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

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

  5. Оптимизировать управление деньгами Исследуйте оптимальное распределение капитала в рамках этой стратегии, чтобы максимизировать доходность при одновременном контроле рисков.

Заключение

В целом, это стратегия, которую стоит оптимизировать и протестировать на живых рынках. Основная идея использования RENKO для тренда и скользящих средних кроссоверов в качестве фильтрованных сигналов звучит. С динамическими остановками ATR он может стать прочной системой, следующей за трендом. Следующим шагом является продолжение оптимизации на основе известных рисков для улучшения параметров и производительности.


/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Renko Level Strategy 2", shorttitle="RLS2", overlay=true, pyramiding=2, currency=currency.USD, default_qty_value=50, initial_capital=2000, default_qty_type=strategy.percent_of_equity) 

TF = input(title='TimeFrame', type=input.resolution, defval="D")
ATRlength = input(title="ATR length", type=input.integer, defval=14, minval=2, maxval=100)

HIGH = security(syminfo.tickerid, TF, high)
LOW = security(syminfo.tickerid, TF, low)
CLOSE = security(syminfo.tickerid, TF, close)
ATR = security(syminfo.tickerid, TF, atr(ATRlength))

float RENKO = na
color COLOR = na
int BUY = na
int SELL = na
bool UP = na
bool DN = na

RENKO := na(RENKO[1]) ? close : RENKO[1]
COLOR := na(COLOR[1]) ? color.white : COLOR[1]
BUY := na(BUY[1]) ? 0 : BUY[1]
SELL := na(SELL[1]) ? 0 : SELL[1]
UP := false
DN := false

if(close > RENKO[1]+ATR[1])
    UP := true
    RENKO := close
    COLOR := color.lime
    SELL := 0
    BUY := BUY+1

if(close < RENKO[1]-ATR[1])
    DN := true
    RENKO := close
    COLOR := color.red
    BUY := 0
    SELL := SELL+1
    

if(BUY[1]==1 and BUY==2)
    strategy.entry("long", strategy.long)//, limit = RENKODN)

if(DN)
    strategy.cancel_all()
    strategy.close_all(comment = "close")


plot(RENKO, style=plot.style_line, linewidth=2, color=COLOR)

Больше