Расширенный таймфрейм коррекции Фибоначчи с условной торговой системой прорыва максимума и минимума

HTF FIBO HL MA BB RSI
Дата создания: 2024-11-28 15:01:25 Последнее изменение: 2024-11-28 15:01:25
Копировать: 0 Количество просмотров: 456
1
Подписаться
1617
Подписчики

Расширенный таймфрейм коррекции Фибоначчи с условной торговой системой прорыва максимума и минимума

Обзор

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

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

Центральная логика стратегии основана на трех основных столпах: первое - анализ цены на более высоких временных рамках, создание более макроэкономического взгляда на рынок путем расчета цен на открытие и закрытие более высоких временных периодов, таких как дневная линия. Следует динамическое расчет уровня фибоначчи, на основе ценового диапазона высоких временных рамок, для установления ключевых уровней сопротивления поддержки.

Стратегические преимущества

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

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

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

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

  1. Добавление фильтра по частоте колебаний: рекомендуется добавлять такие показатели, как ATR или полоса пропускания Bollinger, для фильтрации низких периодов колебаний.
  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)