Эта стратегия использует индекс отрицательного объема (NVI) и его скользящую среднюю для построения длинных и коротких сигналов и совершения обратных сделок при выполнении условий.
Основным показателем стратегии перехода на отрицательный индекс объема является индекс отрицательного объема (NVI).
Если объем сегодняшнего дня < объем предыдущего дня: NVI = NVI предыдущего дня + курс изменения цен сегодняшнего дня
Если сегодняшний объем >= объем предыдущего дня: NVI = NVI предыдущего дня
То есть NVI обновляется только в день, когда объем торгов сокращается, а тенденция цены отражается путем сложения и вычитания курса изменения цены.
Когда NVI превышает N-дневную скользящую среднюю, делайте длинный.
Когда NVI ниже N-дневного скользящего среднего показателя, перейдите на короткий.
Так что он делает обратные сделки, когда объем сокращается.
Основными преимуществами стратегии обратного изменения индекса отрицательного объема являются:
Использование сигналов громкости может найти обратные точки и имеет определенные преимущества в отношении времени.
Логика стратегии проста, легко понять и реализовать.
Параметры могут быть оптимизированы для адаптации к различным рыночным условиям.
Негативный индекс объема также имеет некоторые риски:
Точность сигналов объема не может быть гарантирована, и существует определенная вероятность ошибочных сделок.
Неправильное настройка параметров может привести к чрезмерной частоте торговли или неясным сигналам.
Обеспечить надежность источников данных, чтобы избежать рисков, связанных с ошибочными данными о объеме.
Эти риски могут быть уменьшены за счет оптимизации параметров, стратегий стоп-лосса и т.д.
Стратегия обратного изменения индекса отрицательного объема может быть оптимизирована в следующих аспектах:
Оптимизировать параметры скользящей средней, чтобы найти параметры, которые лучше описывают характеристики рынка.
Добавьте другие индикаторы для фильтрации, чтобы избежать ненужных ошибочных сделок.
Комбинировать с сильными методами стоп-лосса для ограничения одиночных потерь.
Испытывать различия в параметрах для различных сортов и устанавливать адаптивные параметры.
Негативный индекс объема (NVI) - стратегия обратного отклонения, которая проводится при сокращении объема торговли, с целью захвата потенциальных точек обратного отклонения тренда. Эта стратегия имеет преимущества простоты и простоты понимания, а также имеет определенные риски ошибочных сделок. Стабильность и рентабельность стратегии могут быть улучшены за счет оптимизации параметров, добавления вспомогательных индикаторов и т. Д. В целом стратегия обратного отклонения НВИ имеет хорошие перспективы развития и применения.
/*backtest start: 2023-12-13 00:00:00 end: 2023-12-20 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter 11/08/2017 // The theory behind the indexes is as follows: On days of increasing // volume, you can expect prices to increase, and on days of decreasing // volume, you can expect prices to decrease. This goes with the idea of // the market being in-gear and out-of-gear. Both PVI and NVI work in similar // fashions: Both are a running cumulative of values, which means you either // keep adding or subtracting price rate of change each day to the previous day`s // sum. In the case of PVI, if today`s volume is less than yesterday`s, don`t add // anything; if today`s volume is greater, then add today`s price rate of change. // For NVI, add today`s price rate of change only if today`s volume is less than // yesterday`s. // // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="Negative Volume Index Backtest", shorttitle="NVI Str") EMA_Len = input(255, minval=1) reverse = input(false, title="Trade reverse") xROC = roc(close, 1) nRes = iff(volume < volume[1], nz(nRes[1], 0) + xROC, nz(nRes[1], 0)) nResEMA = ema(nRes, EMA_Len) pos = iff(nRes > nResEMA, 1, iff(nRes < nResEMA, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nRes, color=red, title="NVI") plot(nResEMA, color=blue, title="EMA")