
Эта стратегия, основанная на технических показателях, определяет тенденции рынка, и является стратегией короткой торговли, когда возникают последовательные N коренные K-линии.
Эта стратегия использует nCounter переменную для подсчета последовательности заимствований. Когда цена закрытия ниже цены открытия, добавляется значение nCounter; когда цена закрытия выше цены открытия, nCounter перенастраивается на 0. Когда nCounter достигает входного параметра nLength, отмечается появление последовательности заимствований Nкоренных K-линий, и выводится сигнал C2=1.
При появлении сигнала, если в настоящее время нет позиции, то открыть позицию на нулевой; если уже имеется свободный ордер, то продолжать держать. После открытия позиции, использовать posprice записывать цену открытия позиции. На основе цены открытия позиции в качестве ориентира, установить стоп-стоп и условия потери: если цена достигла точки остановки ((цены открытия позиции + входные параметры takeprofit), вывести позиции и перезагрузить; если цена достигла точки остановки потерь ((цены открытия позиции - входные параметры stoploss), вывести позицию и перезагрузить.
Основные преимущества этой стратегии:
Основные риски этой стратегии:
Эта стратегия может быть оптимизирована в следующих аспектах:
Добавление фильтрации на тенденции, чтобы избежать ошибочного понимания краткосрочных корректировок, которые могут возникнуть на неопределенном рынке. Например, в сочетании с показателями, такими как средняя линия, можно судить об общей тенденции.
Увеличение объема может подтвердить, например, увеличение объема сделки может лучше подтвердить обратный тренд.
Оптимизация стратегий стоп-стоп, таких как использование плавающего стоп-стопа, пропорционального стоп-стопа и т.д., чтобы сделать стоп-стоп более интеллектуальным.
Оптимизация параметров с использованием методов машинного обучения позволяет корректировать значение 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)