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

Фрактальная стратегия трейдинга с оптимизацией прибыли

Автор:Чао Чжан, Дата: 2024-12-11 17:20:09
Тэги:ТПSL

img

Обзор

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

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

Основная логика включает следующие ключевые шаги:

  1. Идентификация фрактала: идентифицирует верхний и нижний фракталы путем сравнения трех последовательных свечей. Нижний фрактал образуется, когда средний фрактал ниже, чем соседние; верхний фрактал образуется, когда средний фрактал выше, чем соседние.
  2. Условия вступления: наборы покупают запускную цену на 107 пунктов выше определенных нижних фракталов; наборы продают запускную цену на 107 пунктов ниже определенных верхних фракталов.
  3. Установка прибыли: размещает уровни прибыли на 107 пунктов от входной цены.
  4. Управление позициями: постоянно отслеживает последние фрактальные позиции и соответствующим образом обновляет цены на вход.

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

  1. Объективность: использует четкие математические определения для определения структуры рынка, избегая субъективной предвзятости.
  2. Контроль рисков: использует фиксированные параметры получения прибыли для четких целей прибыли и контролируемого риска.
  3. Приспособляемость: может работать в различных рыночных условиях, особенно подходит для очень волатильных рынков.
  4. Высокая автоматизация: весь процесс торговли от идентификации сигнала до исполнения автоматизирован, уменьшая вмешательство человека.

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

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

Оптимизация стратегии

  1. Оптимизация динамических точек: корректировка пусковых точек входа и выигрыша на основе волатильности рынка.
  2. Фильтрация трендов: добавление индикаторов идентификации трендов для торговли только в первичном направлении тренда.
  3. Признание рыночной среды: внедрение механизмов идентификации состояния рынка для использования различных параметров в различных рыночных условиях.
  4. Оптимизация управления позициями: внедрение динамического размещения позиций на основе уровня собственного капитала счета и рыночного риска.

Резюме

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


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

//@version=5
strategy("Fractal Buy/Sell Strategy with 107 Pips Target", overlay=true)

// 输入参数
trigger_pips = input.int(107, title="Entry Distance (Pips)")  // 入场点距离底分型或顶分型的距离
take_profit_pips = input.int(107, title="Take Profit (Pips)") // 止盈点数

pip_value = syminfo.mintick * 10 // 点值(每点等于多少价格单位)

// 计算分型
is_bottom_fractal = low[1] < low[2] and low[1] < low[0] // 判断是否为底分型
is_top_fractal = high[1] > high[2] and high[1] > high[0] // 判断是否为顶分型

// 存储分型位置
var float last_bottom_fractal = na
var float last_top_fractal = na

// 更新分型值
if is_bottom_fractal
    last_bottom_fractal := low[1]
    
if is_top_fractal
    last_top_fractal := high[1]

// 计算开盘价格
bottom_trigger_price = na(last_bottom_fractal) ? na : last_bottom_fractal + trigger_pips * pip_value
top_trigger_price = na(last_top_fractal) ? na : last_top_fractal - trigger_pips * pip_value

// 交易逻辑:底分型多单和顶分型空单
if not na(last_bottom_fractal)
    if close <= bottom_trigger_price
        strategy.entry("Buy", strategy.long)
        strategy.exit("Take Profit", from_entry="Buy", limit=bottom_trigger_price + take_profit_pips * pip_value)
        
if not na(last_top_fractal)
    if close >= top_trigger_price
        strategy.entry("Sell", strategy.short)
        strategy.exit("Take Profit", from_entry="Sell", limit=top_trigger_price - take_profit_pips * pip_value)

// 绘制分型和触发价格
plotshape(series=is_bottom_fractal, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bottom Fractal")
plotshape(series=is_top_fractal, style=shape.triangledown, location=location.abovebar, color=color.red, title="Top Fractal")
plot(bottom_trigger_price, title="Buy Trigger", color=color.green, linewidth=1)
plot(top_trigger_price, title="Sell Trigger", color=color.red, linewidth=1)

Связанные

Больше