Тенденция в соответствии со стратегией на основе процента ретраксера

Автор:Чао Чжан, Дата: 14 сентября 2023 года 19:49:14
Тэги:

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

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

Основная логика этой стратегии заключается в выявлении местных максимумов за определенный период и введении ретрассейнов фиксированного процента.

  1. Сначала вычислите самый высокий максимум за последние 90 баров как местный пик.

  2. Когда цена восстанавливается на фиксированный процент (например, 3%) от этого пика, делайте длинный курс, чтобы следовать тренду.

  3. Установка цели получения прибыли на определенном процентном уровне (например, 6%) выше входной цены.

  4. Не используется стоп-лосс, основное внимание уделяется следующему тренду.

Определяя вход на основе процентного отклонения от местных вершин, подтверждение тенденции может быть достигнуто, эффективно отфильтровывая консолидации.

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

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

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

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

III. Потенциальные недостатки

Хотя стратегия имеет свои преимущества, следует отметить следующие риски при фактической торговле:

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

Во-вторых, отсутствие стоп-лосса подвергает стратегию большим рискам для единой торговли.

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

IV. Резюме

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


/*backtest
start: 2022-09-07 00:00:00
end: 2023-09-13 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/
// © luboremenar

//@version=4
strategy("test_%_down_up", overlay = false, initial_capital = 1000, pyramiding = 0, default_qty_value = 1000,
     default_qty_type = strategy.cash, precision = 8, commission_type = strategy.commission.percent, commission_value = 0.1)

// inputs
range_of_tops = input(title="Range of candles to find highest value from.", defval=90, type=input.integer, minval=1 )
basis_points = input(title="Basis points, if asset has two decimals use 100, three decimals 1000, etc.", defval=100, type=input.integer, minval=1)
retrace_percent = input(title="Percent value retrace from the top.", type=input.integer, defval=3, minval = 1, maxval=99)
take_profit_percent = input(title="Percent value of take profit from entry price.", type=input.integer, defval=6, minval=1)

// strategy definition
three_months_top = highest(range_of_tops)
longCondition1 = (close <= float((three_months_top*(1-(take_profit_percent/100)))) and strategy.position_size == 0)

if (longCondition1)
    strategy.entry("Long1", strategy.long, qty = strategy.equity/close)

strategy.exit(id="TP1", from_entry="Long1", profit=((close*(1 + take_profit_percent/100)-close)*basis_points),
     when= crossover(strategy.position_size, 0))


// plot
plot(strategy.equity)

// for testing, debugging
//test=0.0  
//if(crossover(strategy.position_size, 0))
//    test := (close*1.06-close)*basis_points
//plot(test)

Больше