Стратегия отслеживания экстремального разворота


Дата создания: 2024-02-20 15:17:41 Последнее изменение: 2024-02-20 15:17:41
Копировать: 0 Количество просмотров: 605
1
Подписаться
1617
Подписчики

Стратегия отслеживания экстремального разворота

Обзор

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

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

Эта стратегия основана на следующих принципах:

  1. Используя функцию security для получения максимально высоких и минимально низких значений различных циклов K-линий, проверьте, равняется ли это максимально низким значениям предыдущих K-линий, чтобы определить, достигнута ли новая предельная точка.

  2. При обнаружении новой критической точки, если текущая ситуация является многоочередным, то в этой критической точке обратный пустой; если текущая ситуация является пустым, то в этой критической точке обратный пустой.

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

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

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

Основные преимущества этой стратегии:

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

  2. Управление временем и деньгами позволяет контролировать время и деньги, используемые в стратегии, и снижать риск.

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

  4. Логика стратегии проста, понятна, легко поддается настройке и оптимизации.

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

Однако эта стратегия несет в себе определенные риски:

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

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

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

  4. Параметры валют и временных диапазонов являются фиксированными и не поддаются динамическому регулированию. Для этого можно создать систему оптимизации параметров.

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

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

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

  2. Добавление механизма плавающего остановки, корректирующего остановку в зависимости от изменения цены и колебаний.

  3. Добавление модулей по повышению и обратному открытию позиций, основанных на тенденциях и колебаниях, повышает прибыльность.

  4. Создание механизмов оптимизации параметров для автоматизированного тестирования и оптимизации параметров.

  5. Присоединение к модели машинного обучения для оценки поведения и принятия стратегических решений.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 6h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Extremum Strategy v1.0", shorttitle = "Extremum str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W', title = 'Timeframe for extremums')
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Levels
highm = request.security(syminfo.tickerid, tf, high[1])
lowm = request.security(syminfo.tickerid, tf, low[1])
upcolorm = highm == highm[1] ? lime : na
dncolorm = lowm == lowm[1] ? red : na
plot(highm, color = upcolorm, linewidth = 3)
plot(lowm, color = dncolorm, linewidth = 3)

//Signals
size = strategy.position_size
up = size > 0 ? highm * 1000000 : highm != highm[1] ? highm : up[1]
dn = size < 0 ? 0 : lowm != lowm[1] ? lowm : dn[1]
exit = true

//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if highm > 0 and high[1] < highm and highm == highm[1]
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = up)
    
if lowm > 0 and low[1] > lowm and lowm == lowm[1]
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dn)

if exit
    strategy.close_all()