Эта стратегия оптимизирует первоначальную стратегию Rate of Change (ROC).
Благодаря этим мерам оптимизации можно отфильтровать многие недействительные сигналы, чтобы сделать стратегию более стабильной и надежной.
Основным показателем этой стратегии является коэффициент изменения (ROC). ROC измеряет коэффициент изменения цен на акции за определенный период. Эта стратегия сначала рассчитывает значение ROC за период 9 лет. Затем она записывает максимальное значение этого индикатора ROC за последние 200 периодов и рассчитывает текущий ROC в процентах от максимального исторического ROC, чтобы получить относительную силу импульса. Например, если самый высокий ROC за последние 200 дней достиг 100, то относительная сила составляет 80%, когда сегодняшний ROC составляет 80.
Относительная прочность сглаживается 10-периодным SMA, чтобы отфильтровать краткосрочные колебания и получить гладкую кривую. Когда гладкая кривая непрерывно растет в течение 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")