Долгая стратегия выхода из золотого соотношения

Автор:Чао Чжан, Дата: 2023-11-28 13:40:35
Тэги:

img

Обзор

Golden Ratio Breakout Long Strategy (Золотое соотношение) - это стратегия торговли, основанная на уровнях золотого соотношения самых высоких и самых низких цен за последние 21 день.

Логика стратегии

Стратегия сначала рассчитывает 21-дневную самую высокую цену (high21) и 21-дневную самую низкую цену (low21), а затем вычисляет разницу между ними как диф. Торговый сигнал срабатывает, когда текущая низкая цена превышает низкую21 + 0,382 * диф, в то время как предыдущий барс закрытия выше, чем предыдущие барс открытия. Стоп-лосс устанавливается на низкую21 + 0,236 * диф. Другими словами, когда цена превышает линию золотого коэффициента 38,2% последнего 21-дневного ценового диапазона с повышающейся эластичностью, начинается длинная позиция. Линия стоп-лосса - это линия золотого коэффициента 23,6%.

Уровни золотого коэффициента используются здесь, поскольку они, как правило, соответствуют общим зонам поддержки и сопротивления на рынке. 0,382 и 0,236 наблюдаются как уровни ретрексера и отскока, что делает золотое соотношение одним из самых интригующих чисел в природе.

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

Преимущества этой стратегии:

  1. Руководствуясь зрелой методологией технического анализа - теорией золотого коэффициента.

  2. Продолжительная установка снижает риск для системы.

  3. Механизм отслеживания трендов определяет точное время входа.

  4. Ясный стоп-потеря контролирует риск.

  5. Настраиваемые параметры обратного тестирования подходят для различных рыночных условий.

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

Существуют также некоторые риски:

  1. Опора на исторические данные приводит к нечувствительности к изменениям рыночного режима.

  2. Тонкий стоп-лосс может быть остановлен ночным перерывом.

  3. Ложные сигналы могут возникнуть, если произойдут резкие колебания цен в период неправильного обратного теста.

  4. Сдвиг влияет на прибыльность.

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

Руководство по оптимизации

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

  1. Автооптимизировать параметры с помощью алгоритмов машинного обучения, чтобы лучше соответствовать текущему рынку.

  2. Включить рычаги, такие как индексные фьючерсы для усиления позиции.

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

  4. Оптимизировать правила стоп-лосса, например, устанавливать динамические стопы на основе волатильности.

Заключение

В заключение, это долгосрочная стратегия, которая обеспечивает четкую логику входа и остановки потери на основе теории золотого соотношения.


/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
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/
// © omkarkondhekar

//@version=4
strategy("GRBLong", overlay=true)

highInput = input(title = "High Days", type = input.integer, defval = 21, minval = 11)
lowInput = input(title = "Low Days", type = input.integer, defval = 21, minval = 5)

// Configure backtest start date with inputs
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2019, minval=1800, maxval=2100)

// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone,
     startYear, startMonth, startDate, 0, 0))

high21 = highest(high, highInput)
low21 = lowest(low, lowInput)

diff = high21 - low21

longEntrySignal = low > low21 + (diff * 0.382) and close[1] > open[1] 

strategy.entry("Long", strategy.long, limit = low, when = longEntrySignal and afterStartDate)
strategy.exit("Long Exit", "Long", stop = low21 + (diff * 0.236))

plot(low21 + (diff * 0.382), color= color.green)
plot(low21 + (diff * 0.236), color = color.red)


Больше