В процессе загрузки ресурсов... загрузка...

Продвинутый ретрассемент Fibonacci Timeframe с торговой системой с высоким и низким прорывом

Автор:Чао Чжан, Дата: 2024-11-28 15:01:25
Тэги:HTFFIBOHLМ.А.ББРСИ

img

Обзор

Эта стратегия представляет собой передовую торговую систему, которая сочетает в себе несколько инструментов технического анализа, в основном основанных на более высоких уровнях ретрекшемента Фибоначчи и условиях высоко-низкого ценового прорыва для генерации торговых сигналов. Стратегия динамически рассчитывает более высокие данные о цене временных рамок, объединяя уровни ретрекшемента Фибоначчи и индивидуальные условия ценового прорыва для формирования полной системы принятия решений о торговле.

Принципы стратегии

Основная логика стратегии основана на трех основных столпах: во-первых, анализ цен на более высокие временные рамки, устанавливающий более макрорыночную перспективу за счет расчета ежедневных или более высоких временных цен OHLC. Во-вторых, динамический расчет уровней ретракциона Фибоначчи, устанавливающий ключевые уровни поддержки и сопротивления на основе более высокого временного диапазона цен. Наконец, определение ценового прорыва путем установления самых высоких и самых низких цен в течение периодов просмотра в качестве ссылок на прорыв. Сигналы покупки запускаются, когда цена превышает последние минимумы и пересекает уровень ретракциона Фибоначчи на 50%, в то время как сигналы продажи генерируются, когда цена превышает последние максимумы и падает ниже уровня ретракциона Фибоначчи на 50%.

Преимущества стратегии

  1. Многомерный анализ: сочетает в себе наиболее уважаемые элементы технического анализа, включая ценовое действие, тенденции и поддержку/сопротивление.
  2. Высокая адаптивность: параметры могут быть скорректированы в соответствии с различными условиями рынка, включая временные периоды, периоды обратной связи и уровни Фибоначчи.
  3. Комплексное управление рисками: снижает риск ложного выхода через множество механизмов подтверждения.
  4. Высокая визуализация: на графике четко видны все ключевые уровни цен, что облегчает принятие торговых решений.
  5. Большая гибкость: применяется к различным торговым инструментам и периодам времени.

Стратегические риски

  1. Чувствительность параметров: различные настройки периода просмотра могут привести к значительным различиям в качестве сигнала.
  2. Зависимость от рыночных условий: может генерировать чрезмерные ложные сигналы на различных рынках.
  3. Риск задержки: из-за использования данных о периоде обратного отслеживания может быть упущено оптимальные точки входа на быстро меняющиеся рынки.
  4. Риск чрезмерной оптимизации: чрезмерная оптимизация параметров может привести к плохой будущей производительности.

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

  1. Добавление фильтрации волатильности: рекомендуется добавлять такие индикаторы, как ATR или Bollinger Bandwidth для фильтрации периодов низкой волатильности.
  2. Интегрировать фильтрацию тренда: можно добавить системы скользящих средних для подтверждения общего направления тренда.
  3. Оптимизировать время входа: может улучшить время входа, включив такие индикаторы импульса, как RSI.
  4. Динамическая корректировка параметров: внедрение адаптивных механизмов для автоматической корректировки параметров на основе рыночных условий.
  5. Улучшенный контроль рисков: Добавление динамических параметров стоп-лосса и целевой прибыли.

Резюме

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


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Fibonacci Levels Strategy with High/Low Criteria", overlay = true)

// Kullanıcıdan yüksek zaman dilimini ve mum bilgilerini al
timeframe = input.timeframe(defval = "D", title = "Higher Time Frame")
currentlast = input.string(defval = "Last", title = "Current or Last HTF Candle", options = ["Current", "Last"])

// Kullanıcıdan en düşük ve en yüksek fiyat bakış sürelerini al
lowestLookback = input(20, "Lowest Price Lookback", tooltip="The strategy will BUY when the price crosses over the lowest it has been in the last X amount of bars")
highestLookback = input(10, "Highest Price Lookback", tooltip="If Take-Profit is not checked, the strategy will SELL when the price crosses under the highest it has been in the last X amount of bars")

// Fibonacci seviyeleri ayarları
level0 = input.float(defval = 0.000, title = "Level 0")
level1 = input.float(defval = 0.236, title = "Level 1")
level2 = input.float(defval = 0.382, title = "Level 2")
level3 = input.float(defval = 0.500, title = "Level 3")
level4 = input.float(defval = 0.618, title = "Level 4")
level5 = input.float(defval = 0.786, title = "Level 5")
level100 = input.float(defval = 1.000, title = "Level 100")

// HTF mumlarını hesapla
newbar = ta.change(time(timeframe)) != 0 
var float htfhigh = high
var float htflow = low
var float htfopen = open
float htfclose = close
var counter = 0

if newbar
    htfhigh := high
    htflow := low
    htfopen := open
    counter := 0
else
    htfhigh := math.max(htfhigh, high)
    htflow := math.min(htflow, low)
    counter += 1

var float open_ = na
var float high_ = na
var float low_ = na
var float close_ = na
if currentlast == "Last" and newbar
    open_ := htfopen[1]
    high_ := htfhigh[1]
    low_ := htflow[1]
    close_ := htfclose[1]
else if currentlast == "Current"
    open_ := htfopen
    high_ := htfhigh
    low_ := htflow
    close_ := htfclose

// Fibonacci seviyelerini hesapla
var float[] fibLevels = array.new_float(6)
array.set(fibLevels, 0, open_ + (high_ - low_) * level0)
array.set(fibLevels, 1, open_ + (high_ - low_) * level1)
array.set(fibLevels, 2, open_ + (high_ - low_) * level2)
array.set(fibLevels, 3, open_ + (high_ - low_) * level3)
array.set(fibLevels, 4, open_ + (high_ - low_) * level4)
array.set(fibLevels, 5, open_ + (high_ - low_) * level5)

// Fibonacci seviyelerini grafik üzerine çiz
plot(array.get(fibLevels, 0), color=color.new(color.blue, 75), title="Fibonacci Level 0")
plot(array.get(fibLevels, 1), color=color.new(color.green, 75), title="Fibonacci Level 1")
plot(array.get(fibLevels, 2), color=color.new(color.red, 75), title="Fibonacci Level 2")
plot(array.get(fibLevels, 3), color=color.new(color.orange, 75), title="Fibonacci Level 3")
plot(array.get(fibLevels, 4), color=color.new(color.teal, 75), title="Fibonacci Level 4")
plot(array.get(fibLevels, 5), color=color.new(color.navy, 75), title="Fibonacci Level 5")

// En düşük ve en yüksek fiyat kriterlerini hesapla
lowcriteria = ta.lowest(low, lowestLookback)[1]
highcriteria = ta.highest(high, highestLookback)[1]

plot(highcriteria, color=color.green, title="Highest Price Criteria")
plot(lowcriteria, color=color.red, title="Lowest Price Criteria")

// Fibonacci seviyeleri ile ticaret sinyalleri oluştur
longCondition = close > lowcriteria and close > array.get(fibLevels, 3) // En düşük kriterin ve Fibonacci seviyesinin üstüne çıkarsa alım
shortCondition = close < highcriteria and close < array.get(fibLevels, 3) // En yüksek kriterin ve Fibonacci seviyesinin altına düşerse satış

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)


Связанные

Больше