Эта стратегия идентифицирует и отслеживает тенденции на основе показателей отклонения цен в сочетании с зонами ретрецирования Фибоначчи. Торговые сигналы генерируются, когда цена все больше отклоняется от одного направления.
Стратегия использует VWAP в качестве линии середины цены. Затем вычисляются верхние и нижние полосы стандартного отклонения колебаний цен 1.618 и 2.618. Длинный сигнал генерируется, когда цена проходит через нижнюю полосу вверх. Короткий сигнал генерируется, когда цена проходит через верхнюю полосу вниз.
Сигналы Stop Loss EXIT после открытия длинных или коротких позиций следуют: линия Stop Loss для длинных позиций - это нижняя полоса, а для коротких позиций - верхняя полоса.
В частности, он включает следующие шаги:
Вычислить VWAP как середину цены
Вычислить стандартное отклонение sd цены как показатель волатильности цен
Вычислить верхние и нижние полосы на основе sd. Верхние полосы VWAP + 1.618sd и VWAP + 2,618Нижние диапазоны VWAP - 1,618sd и VWAP - 2,618СД.
Долгий сигнал генерируется, когда цена проходит через нижнюю полосу 1,618 вверх.
Длинный стоп-лосс EXIT: цена проходит через нижнюю полосу 2,618; короткий стоп-лосс EXIT: цена проходит через верхнюю полосу 2,618.
Стратегия имеет следующие преимущества:
Показатели отклонения цен могут эффективно определять ценовые тенденции и отслеживать тенденции
Площади ретрациации Фибоначчи делают выходы из зоны входа и остановки потерь более ясными
VWAP как линия середины цены также повышает базовое значение показателя
Параметры могут быть настроены в соответствии с различными продуктами и временными рамками
Стратегия также сопряжена с некоторыми рисками:
В случае перемены тренда он может понести большие убытки
Неправильные параметры также могут повлиять на эффективность стратегии
Существует более высокий риск остановки потерь во время сильных колебаний цен
Контрмеры:
Соответственно сократить период хранения и вовремя остановить потери
Оптимизировать параметры для поиска наилучшей комбинации параметров
Увеличить управление размером позиций для контроля одиночных потерь
Стратегия также может быть оптимизирована в следующих областях:
Включать индикаторы тренда для предотвращения торговли с противоположным трендом
Добавить механизмы управления размером позиций
Оптимизировать параметры
Бактэст и оптимизация за несколько временных рамок
Эта стратегия идентифицирует и отслеживает тенденции на основе концепции ценового отклонения в сочетании с VWAP и диапазонами стандартного отклонения Фибоначчи. По сравнению с использованием отдельных индикаторов, таких как скользящие средние, эта стратегия имеет более четкие суждения и контроль рисков. Благодаря корректировке и оптимизации параметров стратегия может быть адаптирована к различным продуктам и временным рамкам для достижения лучшей производительности.
/*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))