Эта стратегия устанавливает длинные и короткие уровни входной цены и уровни стоп-лосса на основе ценовой оценки закрытия предыдущего дня и индикатора ATR для отслеживания тренда.
В данной стратегии используется индикатор закрытия, высокой цены, низкой цены и показатель ATR предыдущего дня для расчета уровней входных цен и уровней стоп-лосса.
Уровень длинной входной цены TPup = закрытие предыдущего дня
Уровень короткой входной цены TPdown = Закрытие предыдущего дня - ATR * 0,8
Уровень длинного стоп-лосса снизился = Закрытие предыдущего дня + ATR * 0,2
Уровень короткой остановки потери sldown = Закрытие предыдущего дня - ATR * 0,2
Уровень прибыли по долгосрочному сборуУровень прибылиповышен = Предыдущий день
Уровень прибыли при коротком закупке уровень прибыли при снижении = Предыдущий день
Когда цена проходит через TPup, займите 10 лотов. Когда цена пройдет через TPdown, займите 10 лотов. Затем установите стоп-лосс и возьмите прибыль. Выходные позиции на триггер стоп-лосса или триггер прибыли.
Основными преимуществами этой стратегии являются:
Использование индикатора ATR для установления динамических уровней входных цен и уровней остановки потерь на основе волатильности рынка, что делает сделки более адаптивными к рыночным условиям.
Использование предыдущих дней для определения направления закрытия и сочетание с индикатором ATR для определения конкретных уровней торговли, избегая введения в заблуждение слишком большим шумным ценовым режимом в режиме реального времени.
Установка стоп-лосса и механизмов получения прибыли для эффективного контроля риска каждой сделки.
Основными рисками этой стратегии являются:
Уровни цен, установленные ATR, могут быть слишком идеалистичными, чтобы действительно отражать рыночные условия, что приводит к частому запуску стоп-лосса. Параметры ATR можно скорректировать или расширить диапазон стоп-лосса.
Например, в течение одного дня после закрытия рынка не может быть определено будущее.
Стоп-лосс и стоп-профит могут быть манипулированы, чтобы вызвать, не удалось действительно остановить потерю.
Эта стратегия может быть оптимизирована в следующих аспектах:
Оптимизировать параметры ATR, чтобы уровни торговли лучше соответствовали волатильности рынка.
Добавить механизмы оценки тренда для предотвращения переворотов торговли, например, комбинирование с индикаторами MA.
Корректируйте диапазон получения прибыли, сохраняя прибыльность при одновременном снижении вероятности получения прибыли.
Установите стоп-лосс и прибыль, чтобы уменьшить вероятность попадания в ловушку или потери.
Добавить механизм размещения позиций для увеличения позиций на этапах тренда.
Эта стратегия устанавливает динамические уровни торговли на основе закрытия предыдущих дней и 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")