
Стратегия является оптимизацией улучшений на основе динамики изменения показателя колебаний ((ROC)). По сравнению с первоначальной стратегией ROC, стратегия была оптимизирована следующим образом:
С помощью этих методов оптимизации можно отфильтровать многие неэффективные сигналы и сделать стратегию более стабильной и надежной.
Ключевым показателем стратегии является скорость изменения (ROC). ROC измеряет скорость изменения цен на акции в течение определенного периода. Сначала стратегия рассчитывает значение ROC длиной 9 циклов. Затем она записывает максимальное значение этого показателя ROC за последние 200 циклов и рассчитывает относительную силу движения, получая процент от текущей ROC к наибольшей исторической ROC. Например, если за последние 200 дней ROC достиг максимума более 100, то относительная сила составляет 80% при ROC 80 в тот день.
Эта относительная интенсивность обрабатывается для сглаживания через SMA длиной 10, отфильтровывается краткосрочная волатильность и получается сглаживающая кривая. Когда сглаживающая кривая повышается в течение 3 дней подряд и имеет значение ниже -80%, считается, что падение цен на акции начинает замедляться и вызывает признаки дна, поэтому делают больше; когда сглаживающая кривая падает в течение 3 дней подряд и имеет значение выше 80%, считается, что рост цен на акции начинает замедляться и вызывает признаки вершины, поэтому сглаживают позиции.
Эта стратегия имеет следующие преимущества по сравнению с первоначальной стратегией ROC:
В целом, эта стратегия эффективно вторично обрабатывает показатель ROC, что делает его более подходящим для торговли на реальных дисках.
Основные риски этой стратегии:
Для снижения вышеупомянутых рисков можно рассмотреть комбинацию с трендовыми показателями, чтобы определить большую тенденцию; скорректировать параметры отклонения, проверить оптимальные параметры; оптимизировать параметры цикла SMA.
Эта стратегия может быть оптимизирована в следующих направлениях:
Эта стратегия является оптимизированной стратегией для вторичной разработки на основе показателей ROC. Она вводит такие средства, как сравнение исторических максимумов, плавное SMA и продажи и продажи, которые могут фильтровать неэффективные сигналы, чтобы сделать стратегию более стабильной. Основным преимуществом является высокое качество сигнала, подходящее для реального рынка.
/*backtest
start: 2024-02-12 00:00:00
end: 2024-02-19 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy(title="Rate Of Change Mod Strategy", shorttitle="ROC", format=format.price, precision=2)
//length = input.int(9, minval=1)
//source = input(close, "Source")
//roc = 100 * (source - source[length])/source[length]
//plot(roc, color=#2962FF, title="ROC")
//hline(0, color=#787B86, title="Zero Line")
length = input.int(9, minval=1, title="Length")
maxHistory = input(200, title="Max Historical Period for ROC")
lenghtSmooth = input.int(10, minval=1, title="Length Smoothed ROC")
lenghtBUY = input.int(-80, title="Buy Threshold")
lenghtSELL = input.int(80, title="Buy Threshold")
source = close
roc = 100 * (source - source[length]) / source[length]
// Calculate the maximum ROC value in the historical period
maxRoc = ta.highest(roc, maxHistory)
// Calculate current ROC as a percentage of the maximum historical ROC
rocPercentage = (roc / maxRoc) * 100
rocPercentageS = ta.sma(rocPercentage, lenghtSmooth)
if ta.rising(rocPercentageS, 3) and rocPercentageS < lenghtBUY
strategy.entry("Buy", strategy.long)
if ta.falling(rocPercentageS, 3) and rocPercentageS > lenghtSELL
strategy.close("Buy")
plot(rocPercentage, color=color.new(color.blue, 0), title="Percentage ROC")
plot(rocPercentageS, color=color.new(#21f32c, 0), title="Percentage ROC")
hline(0, color=color.new(color.gray, 0), title="Zero Line")