
Стратегия отслеживания тенденций вибрационных вальсаторов - это стратегия отслеживания тенденций, основанная на вибрационных показателях. Она использует движущиеся средние с несколькими различными циклами для построения вибрационных показателей, выявления потенциальных тенденций в ценах и использования движущихся средних с более короткими циклами в качестве вспомогательных суждений для осуществления низкорисковых операций отслеживания тенденций.
Ключевым показателем стратегии является водоворотный индикатор. Водоворотный индикатор состоит из краткосрочных, среднесрочных и долгосрочных движущихся средних за несколько различных периодов. В частности, в стратегии используются четыре цикла движущихся средних за 6, 27, 72 и 234 дня.
Существенным преимуществом вихревого индикатора является точная оценка тренда, которая эффективно фильтрует рыночный шум. Однако его реакция недостаточно чувствительна, чтобы вовремя уловить переломные моменты. Поэтому в стратегию добавляется более чувствительная 6-дневная подвижная средняя, создающая вспомогательный индикатор.
Наибольшим преимуществом этой стратегии является ее точность и операционная чувствительность. Объединение вихревых показателей и вспомогательных показателей обеспечивает органическое единство в определении трендов и конкретных точек купли-продажи, а также предотвращает взаимное вмешательство между участниками. Многократный механизм подтверждения эффективно фильтрует рыночный шум и предотвращает ошибочные операции.
В отличие от стратегии с одним показателем, стратегия использует преимущества нескольких показателей в комплексе, чтобы лучше распознавать и реагировать на изменения рынка. При неизменности основных тенденций стратегия может обеспечить стабильную прибыль; когда основные тенденции изменяются, стратегия может быстро реагировать и снижать убытки.
Основные риски этой стратегии заключаются в неправильной настройке параметров индикатора и воздействии внезапных событий. Настройка параметров движущейся средней требует баланса между чувствительностью и способностью противостоять шумовым помехам. Неправильная настройка параметров может привести к аномальному поведению стратегии. Кроме того, значительные внезапные события могут привести к резким колебаниям цен, которые приводят к неэффективности индикатора, что приводит к ошибочным сделкам.
Чтобы снизить эти риски, рекомендуется оптимизировать комбинацию параметров и проводить обратную проверку, чтобы показатель был более стабильным. Кроме того, необходимо обратить внимание на рыночные последствия, вызванные крупными событиями, приостановить стратегию, если это необходимо, и избежать ошибочных действий в период необычных колебаний.
Эта стратегия может быть оптимизирована в следующих аспектах:
Оптимизация параметров скользящих средних, повышение устойчивости показателей к помехам и чувствительности к управлению. Можно попробовать комбинации различных параметров длины, выбирая гладкие и чувствительные показатели.
Увеличение механизма остановки убытков. Установка остановки убытков, чтобы избежать дальнейших убытков, когда цена прорывает критическую поддержку в неблагоприятном направлении.
В сочетании с другими показателями, увеличивает стратегическую стабильность. Например, добавление показателя объема сделок, который создает торговый сигнал только в случае увеличения объема сделок.
Используйте различные комбинации параметров в зависимости от стадии рынка. Например, более активные параметры используются в бычьем рынке, а более стабильные - в медвежьем.
Стратегия отслеживания тенденций вихревого вальсатора использует вихревые показатели для определения направления и силы ценового тренда, а также более чувствительные краткосрочные скользящие средние для определения конкретного момента покупки и продажи. Эта стратегия успешно объединяет два уровня определения тенденций и исполнения сделок, обеспечивая стабильность операций и повышая гибкость стратегии.
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//swap strategy line for study line to enable backtesting
strategy(title="Vortex Ocillator" )
//study(title = "Vortex Oscillator", precision = 6)
// Component Code Start
// Example usage:
// if testPeriod()
// strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2048, "Backtest Stop Year")
testStopMonth = input(7, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)
testPeriod() => true
// Component Code Stop
//vortex histogram
short_input = input(6, minval = 1)
long_input = input(27, minval = 1)
longer_input = input(72, minval = 1)
longest_input = input(234, minval = 1)
short = sma(close, short_input)
long = sma(close, long_input)
longer = sma(close, longer_input)
longest = sma(close, longest_input)
hist = short - long
longhist = short - longer
longesthist = short - longest
hist_fractal = input(3, minval = 0)
longhist_fractal = input(2, minval = 0)
longesthist_fractal = input(4, minval = 0)
vortexhist = avg((hist / hist_fractal), (longhist / longhist_fractal), (longesthist / longesthist_fractal))
crossover_calc = vortexhist > 0 and vortexhist[1] < 0
crossunder_calc = vortexhist < 0 and vortexhist[1] > 0
crossover2 = crossover(vortexhist, 0)
crossunder2 = crossunder(vortexhist, 0)
hist_color = hist > 0? fuchsia : purple
longhist_color = longhist > 0? olive : orange
longesthist_color = longesthist > 0? teal : blue
vortexhist_color = vortexhist >= 0? green : red
plot(longesthist, "Longest Ocillator", style = histogram, color = longesthist_color, transp = 5)
plot(longhist, "Longer Ocillator", style = histogram, color = longhist_color, transp = 30)
plot(hist, "Short Ocillator", style = histogram, color = hist_color, transp = 30)
plot(vortexhist, "Vortex Ocillator", style = columns, color = vortexhist_color, transp = 40)
plotshape(crossover_calc,title = "Crossover",location = location.bottom, style = shape.triangleup, size = size.small, color = green)
plotshape(crossunder_calc,title = "Crossunder",location = location.bottom, style = shape.triangledown, size = size.small, color = red)
//micro
micro_ema_length = input(6,"Micro EMA Length")
micro = ema(vortexhist, micro_ema_length)
plot(micro, title = "micro", linewidth = 1, color = white)
microup = crossover(vortexhist, micro)
microdown = crossunder(vortexhist, micro)
//new micro signals
xmicroup = microup and vortexhist >=0 or crossover_calc
xmicrodown = microdown and vortexhist >=0 or crossunder_calc
plotshape(xmicroup, title = "Micro up", style = shape.circle, color = olive, location = location.bottom, size = size.tiny)
plotshape(xmicrodown, title = "Micro down", style = shape.circle, color = fuchsia, location = location.bottom, size = size.tiny)
//optional strategy options for backtesting, comment out the alertcondition rows and swap the top study row for the strategy row to compile as strategy
if testPeriod()
strategy.entry("buy", true, 1, when = xmicroup, limit = low)
if testPeriod()
strategy.close("buy", when = xmicrodown)
//if (xmicroup)
//strategy.entry("My Long Entry Id", strategy.long)
//if (xmicroup)
//strategy.exit("My Short Exit Id", "My Short Entry Id")
//if (xmicrodown)
//strategy.exit("My Long Exit Id", "My Long Entry Id")