Стратегия N последовательных закрытий K-линии отрицательная


Дата создания: 2023-12-26 10:29:12 Последнее изменение: 2023-12-26 10:29:12
Копировать: 1 Количество просмотров: 562
1
Подписаться
1623
Подписчики

Стратегия N последовательных закрытий K-линии отрицательная

Обзор

Эта стратегия, основанная на технических показателях, определяет тенденции рынка, и является стратегией короткой торговли, когда возникают последовательные N коренные K-линии.

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

Эта стратегия использует nCounter переменную для подсчета последовательности заимствований. Когда цена закрытия ниже цены открытия, добавляется значение nCounter; когда цена закрытия выше цены открытия, nCounter перенастраивается на 0. Когда nCounter достигает входного параметра nLength, отмечается появление последовательности заимствований Nкоренных K-линий, и выводится сигнал C2=1.

При появлении сигнала, если в настоящее время нет позиции, то открыть позицию на нулевой; если уже имеется свободный ордер, то продолжать держать. После открытия позиции, использовать posprice записывать цену открытия позиции. На основе цены открытия позиции в качестве ориентира, установить стоп-стоп и условия потери: если цена достигла точки остановки ((цены открытия позиции + входные параметры takeprofit), вывести позиции и перезагрузить; если цена достигла точки остановки потерь ((цены открытия позиции - входные параметры stoploss), вывести позицию и перезагрузить.

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

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

  1. Правила простые, понятные и понятные.
  2. Настраиваемые параметры, гибкость в различных рыночных условиях.
  3. Применение механизма остановки убытков позволяет эффективно контролировать риск.

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

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

  1. Последовательное завершение N корневой K-линии не позволяет полностью определить обратный тренд, возможны ложные переломы. N-значение может быть соответствующим образом скорректировано или в сочетании с другими показателями.
  2. Неправильная установка стоп-лосса может привести к преждевременному выходу из игры или увеличению убытков. Разумные параметры должны быть установлены в соответствии с уровнем волатильности рынка.

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

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

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

  2. Увеличение объема может подтвердить, например, увеличение объема сделки может лучше подтвердить обратный тренд.

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

  4. Оптимизация параметров с использованием методов машинного обучения позволяет корректировать значение nLength в соответствии с изменениями рынка в реальном времени.

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

Эта стратегия определяет краткосрочные тенденции на основе зависимости величины от цены закрытия от цены открытия, создает торговый сигнал при обнаружении затягивания последовательной N-корневой K-линии. Стратегия проста, интуитивно понятна, параметры регулируемы, с механизмом стоп-стоп-лосс, который может отфильтровать часть шума торговли. Но также существует определенный риск ложного сигнала, рекомендуется оптимизировать в сочетании с другими индикаторами хронической волны.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/02/2020
// Evaluates for n number of consecutive lower closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="N Bars Down", shorttitle="NBD Backtest", overlay = false) 
nLength = input(4, minval=1)
input_takeprofit = input(20, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
nCounter = 0
nCounter := iff(close[1] <= open[1], nz(nCounter[1],0)+1,
             iff(close[1] > open[1], 0, nCounter))
C2 = iff(nCounter >= nLength, 1, 0)
posprice = 0.0
pos = 0
barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) 
posprice := iff(C2== 1, close, nz(posprice[1], 0)) 
pos := iff(posprice > 0, -1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == -1)
    strategy.entry("Short", strategy.short)
posprice := iff(low <= posprice - input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))
plot(C2, title='NBD', color=color.red)