Стратегии следования за трендом, основанные на расхождении цен


Дата создания: 2024-01-22 11:51:28 Последнее изменение: 2024-01-22 11:51:28
Копировать: 0 Количество просмотров: 635
1
Подписаться
1617
Подписчики

Стратегии следования за трендом, основанные на расхождении цен

Обзор

Эта стратегия основана на индикаторе отклонения цены в сочетании с зоной обратного отклонения Фибоначчи, позволяющей идентифицировать и отслеживать тенденции. Когда цена отклоняется от определенного направления, ее можно рассматривать как трендообразующуюся, что создает торговый сигнал.

Стратегический принцип

Эта стратегия использует VWAP в качестве центральной оси цены. Затем, в зависимости от волатильности цены, рассчитывается диапазон отклонений от стандарта в 1,618 раз и 2,618 раз.

Сигнал EXIT для остановки с лишним опозданием выглядит следующим образом: с лишним опозданием - вниз, с лишним опозданием - вверх.

В частности, есть несколько шагов:

  1. Расчет VWAP как средняя ось цены

  2. Расчет стандартного разрыва в цене sd как показатель волатильности цен

  3. Вычисление по сд: VWAP + 1.618*sd и VWAP + 2.618*sd; нижняя линия VWAP - 1.618*sd и VWAP - 2.618*sd

  4. Сигналы, когда цена спускается вверх и пробивается вниз в 1,618 раза; сигналы, когда цена спускается вверх и пробивается вверх в 1,618 раза

  5. Сделайте много стоп EXIT: цена пробилась в 2,618 раза вниз; сделайте короткий стоп EXIT: цена пробилась в 2,618 раза вверх

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Использование отклонений от цены, чтобы эффективно определить ценовые тенденции и отслеживать тенденции

  2. В сочетании с Fibonacci зоны обратного вызова, чтобы сделать entrada вход и стоп-лосс выход более четким

  3. VWAP, как центральная ось цен, также повышает ориентировочное значение показателя

  4. Приспосабливается к различным видам и периодам с помощью параметров корректировки

Анализ рисков

Однако эта стратегия также несет в себе некоторые риски:

  1. Если тенденция изменится, возможны большие убытки

  2. Неправильные параметры могут повлиять на эффективность стратегии

  3. При резких колебаниях цен, риск остановки больше

Ответ:

  1. Сокращение срока хранения позиций и своевременное прекращение убытков

  2. Оптимизация параметров, поиск оптимальных комбинаций параметров

  3. Усиление управления позициями, контроль одиночных потерь

Направление оптимизации

Эта стратегия также может быть оптимизирована в следующих направлениях:

  1. Тенденционные индикаторы, чтобы избежать обратной торговли

  2. Присоединение к механизму управления позициями

  3. Оптимизация параметров

  4. Оптимизация обратной измеренности на нескольких временных периодах

Подвести итог

Эта стратегия основана на идее ценового отклонения, в сочетании с VWAP и Fibonacci, чтобы идентифицировать и отслеживать тенденции. По сравнению с такими показателями, как одиночное использование средних линий, эта стратегия имеет более четкое суждение и более четкое управление рисками.

Исходный код стратегии
/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Mysteriown

//@version=4
strategy(title="VWAP + Fibo Dev Extensions Strategy", overlay=true, pyramiding=5, commission_value=0.08)

// -------------------------------------
// ------- Inputs Fibos Values ---------
// -------------------------------------

fib1 = input(title="Fibo extension 1", type=input.float, defval=1.618)
fib2 = input(title="Fibo extension 2", type=input.float, defval=2.618)
reso = input(title="Resolution VWAP", type=input.resolution, defval="W")
dev = input(title="Deviation value min.", type=input.integer, defval=150)


// -------------------------------------
// -------- VWAP Calculations ----------
// -------------------------------------

t = time(reso)
debut = na(t[1]) or t > t[1]

addsource = hlc3 * volume
addvol = volume
addsource := debut ? addsource : addsource + addsource[1]
addvol := debut ? addvol : addvol + addvol[1]
VWAP = addsource / addvol

sn = 0.0
sn := debut ? sn : sn[1] + volume * (hlc3 - VWAP[1]) * (hlc3 - VWAP)
sd = sqrt(sn / addvol)

Fibp2 = VWAP + fib2 * sd
Fibp1 = VWAP + fib1 * sd
Fibm1 = VWAP - fib1 * sd
Fibm2 = VWAP - fib2 * sd


// -------------------------------------
// -------------- Plots ----------------
// -------------------------------------

plot(VWAP, title="VWAP", color=color.orange)
pFibp2 = plot(Fibp2, color=color.red)
pFibp1 = plot(Fibp1, color=color.red)
pFibm1 = plot(Fibm1, color=color.lime)
pFibm2 = plot(Fibm2, color=color.lime)

fill(pFibp2,pFibp1, color.red)
fill(pFibm2,pFibm1, color.lime)


// -------------------------------------
// ------------ Positions --------------
// -------------------------------------

bull = crossunder(low[1],Fibm1[1]) and low[1]>=Fibm2[1] and low>Fibm2 and low<Fibm1 and sd>dev
bear = crossover(high[1],Fibp1[1]) and high[1]<=Fibp2[1] and high<Fibp2 and high>Fibp1 and sd>dev

//plotshape(bear, title='Bear', style=shape.triangledown, location=location.abovebar, color=color.red, offset=0)
//plotshape(bull, title='Bull', style=shape.triangleup, location=location.belowbar, color=color.green, offset=0)


// -------------------------------------
// --------- Strategy Orders -----------
// -------------------------------------

strategy.entry("Long", true, when = bull)
strategy.close("Long", when = crossover(high,VWAP) or crossunder(low,Fibm2))

strategy.entry("Short", false, when = bear)
strategy.close("Short", when = crossunder(low,VWAP) or crossover(high,Fibp2))