Стратегия следования за трендом, основанная на цене закрытия предыдущего дня и индикаторе ATR


Дата создания: 2024-01-31 14:39:09 Последнее изменение: 2024-01-31 14:39:09
Копировать: 3 Количество просмотров: 676
1
Подписаться
1617
Подписчики

Стратегия следования за трендом, основанная на цене закрытия предыдущего дня и индикаторе ATR

Обзор

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

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

В данной стратегии используются цены закрытия, максимумы, минимумы и показатели ATR за предыдущий день для расчета цены входа и цены остановки. Конкретные формулы расчета следующие:

Цена открытия позиции TPup = Цена закрытия дня + ATR* 0.8 Цена открытия позиции с пустой головой TPdown = Цена закрытия за день до - ATR* 0.8

Многоочередная стоп-стоп-ценовая спад = цена закрытия за предыдущий день + ATR* 0.2 Стоп-стоп на голове sldown = закрытие на днях - ATR* 0.2

Стоп-ценовые прибыли (profitlevelup) = минимальная цена за предыдущий день + ATR* 1.7
Процентная ставка при остановке на пустом месте = максимальная цена за предыдущий день - ATR* 1.7

Когда цена превышает цену открытия позиции TPup, она делает это в 10 раз; когда цена превышает цену открытия позиции TPdown, она делает это в 10 раз. Затем устанавливается остановка и остановка.

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

Основные преимущества этой стратегии:

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

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

  3. В то же время установка стоп-лосс и стоп-стоп механизмов позволяет хорошо контролировать риски отдельных сделок.

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

Основные риски этой стратегии:

  1. Цены, установленные показателем ATR, могут быть слишком идеализированы и не могут реально отражать ситуацию на рынке, что приводит к частым остановкам. Можно соответствующим образом скорректировать параметры ATR или увеличить степень остановки.

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

  3. Остановка и остановка могут быть манипулированы, но не могут быть фактически остановлены. Можно установить массовую остановку компонентов, чтобы избежать блокировки.

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

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

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

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

  3. Настройка приостановки, чтобы снизить вероятность того, что приостановка будет вызвана, сохраняя прибыльность.

  4. Установка компонентов для блокировки и остановки, снижает вероятность попадания и потери.

  5. Добавление механизмов управления позициями, которые могут увеличить позиции на этапе тренда.

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

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

Исходный код стратегии
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("PC with ATR Strategy (by Zhipengcfel)", shorttitle="PC_ATR", pyramiding=1, overlay=true)

// Zhipengcfel's Previous day's close with ATR Strategy
//
// Version 1.0
// @copyright Idea by Zhipengcfel on June 29, 2017.

//Previous day's close plus ATR strategy. 
//Buy (if breaking PC+ATR*0.8) or sell (if breaking PC-0.8*ATR). 

//This is just a demo vision and can not be used for real auto trading



///////////// ATR value
ATRlength = input(14, minval=1, title="lookback length of ATR")
//ATR = atr(ATRlength)
ATR = request.security(syminfo.tickerid, 'D', atr(ATRlength))

///////////// Entry levels and target levels
entr = input(0.8, minval=0.1, step = 0.05, title="Entry level for ATR")
tplevel = input(1.7, minval=0.1, step = 0.05, title="Exit level for ATR")
yesterday = request.security(syminfo.tickerid, 'D', close[1])
dl = request.security(syminfo.tickerid, 'D', low[1])
dh = request.security(syminfo.tickerid, 'D', high[1])
TPup = yesterday+entr*ATR
TPdown = yesterday-entr*ATR
profitlevelup = dl+tplevel*ATR
profitleveldown = dh-tplevel*ATR

///////////// Stop loss level
sl = input( 0.2  ,minval=0.01, step = 0.05, title="Stop loss level for ATR") //82 for 2, 83 for 3 and more positions
slup = yesterday+sl*ATR
sldown = yesterday-sl*ATR

///////////// Starting year to backtest
yer = input( 2014  , title="Backtest Starting year")


///////////// strategy: PC + ATR
if (close > TPup) and (close < profitlevelup)
    strategy.entry("LONG", strategy.long, 10, comment="Buy", when = year > yer, oca_name="My oca")
    strategy.exit("Stopped", "LONG",  stop = slup, limit= profitlevelup, oca_name="My oca")
            

if (close < TPdown) and (close > profitleveldown)
    strategy.entry("SHORT", strategy.short, 10, comment="Sell", when = year > yer, oca_name="My oca")
    strategy.exit("Stopped", "SHORT", stop = sldown, limit= profitleveldown, oca_name="My oca")