Количественная торговая стратегия Гэндальфа, основанная на срединной линии


Дата создания: 2023-10-30 10:27:40 Последнее изменение: 2023-10-30 10:33:17
Копировать: 0 Количество просмотров: 772
1
Подписаться
1617
Подписчики

Количественная торговая стратегия Гэндальфа, основанная на срединной линии

Обзор

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

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

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

В частности, он рассчитывает следующие цены:

  • Средневзвешенная цена: ((высочайшая цена + низкая цена + закрывающая цена + закрывающая цена) / 4
  • Средняя линия: ((высочайшая цена + низкая цена) / 2
  • Средняя цена: ((открытие + закрытие) / 2

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

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

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

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

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

Стратегия Гандальфа имеет следующие преимущества:

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

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

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

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

  5. Предоставляется возможность предварительно установить количество стоп-постов и лимиты на хранение, что позволяет блокировать прибыль и контролировать риски в каждой сделке.

  6. Структура кода ясна, проста, легко понятна и изменяется.

  7. Параметры могут быть скорректированы в соответствии с личными предпочтениями в отношении риска и легко оптимизированы.

  8. Применяется для трендовых сортов, для получения прибыли от тренда.

В целом, стратегия Гандальфа использует среднюю линию для определения тенденции, устанавливает условия для остановки и остановки, эффективно контролирует риск отслеживания тенденции и является надежной стратегией отслеживания тенденции.

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

Однако, есть некоторые риски, о которых следует помнить в стратегии Гандалфа:

  1. В качестве стратегии отслеживания трендов, когда тренд не является очевидным или часто меняется, возникают меньшие потери.

  2. Невозможность эффективно оценить точку обратной тенденции может привести к увеличению убытков

  3. В результате, в результате, в результате, в результате.

  4. В зависимости от настроек параметров, различные сорта требуют корректировки параметров.

  5. В частности, он отметил, что в случае с “односторонним” размещением позиций, они не смогут получить прибыль от обратного развития событий.

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

Соответствующие меры управления рисками:

  1. Применение небольших позиций, групповой вход, контроль одиночных потерь.

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

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

  4. Для снижения затрат можно использовать метод пополнения Мартингеля.

  5. Сделки имеют явную тенденцию, прибыль высока.

  6. Соответствующая смягчение условий приема с учетом вероятности приема.

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

Также можно оптимизировать стратегию Гандальфа в следующих аспектах:

  1. Построение показателей для определения тенденции, которые помогают определить время обратного тренда. Например, принятие решения о включении в MACD, Брин-Бенд и т. Д.

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

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

  4. Добавление способов торможения, таких как движущаяся тормоза, показательная движущаяся тормоза.

  5. В сочетании с соответствующими продуктами, проводится разница в ценах арбитража или статистического арбитража.

  6. Присоедините прогноз состояния, основанный на модели Игнатия Маркова, для оценки состояния дел.

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

  8. Оптимизация портфеля торговых стратегий и определение его веса.

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

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

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

Исходный код стратегии
/*backtest
start: 2023-10-22 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

// The GandalfProjectResearchSystem strategy, as discussed in
// “System Development Using Artificial Intelligence”
// by Domenico D’Errico and Giovanni Trombetta
strategy("Gandalf Project Research System", overlay=true)

// Inputs
Quantity = input(0, title="Quantity (0 to auto calc)")
Single_Trade_Money = input(10000, minval=1, title="Money to spend on single trade")
MaxProfitCloses = input(6, minval=1, title="Max Profit Close")
MaxBars = input(8, minval=1, title="Max Total Bars")
Enter_Gap = input(-0.08, title="Distance from low price to place entry limit")
AltExit = input(true, title="Use Alt Exit")

// Calculate Order Quantity
Ncon = Single_Trade_Money / close

// Misc Variables
src = close
BarsSinceEntry = 0
MaxProfitCount = 0
MedBodyPrice = (open + close) / 2.0
Weighted = (high + low + close + close) / 4.0
Median = (high + low) / 2.0

// Enter Conditions
Cond00 = strategy.position_size == 0
Cond01 = ((Weighted[1] < Median[1] and Median[2] <= Weighted[1] and MedBodyPrice[2] <= Weighted[3]) or (Weighted[1] < Median[3] and MedBodyPrice[0] < Median[2] and MedBodyPrice[1] < MedBodyPrice[2]))
Entry01 = Cond00 and Cond01

// Update Exit Variables
BarsSinceEntry := Cond00 ? 0 : nz(BarsSinceEntry[1]) + 1
MaxProfitCount := Cond00 ? 0 : (close > strategy.position_avg_price and BarsSinceEntry > 1) ? nz(MaxProfitCount[1]) + 1 : nz(MaxProfitCount[1])

// Exit Conditions
eCond01 = BarsSinceEntry - 1 >= MaxBars
eCond02 = MaxProfitCount >= MaxProfitCloses
eCond03 = ((Weighted[1] < MedBodyPrice[1] and Median[2] == MedBodyPrice[3] and MedBodyPrice[1] <= MedBodyPrice[4]) or (Weighted[2] < MedBodyPrice[0] and Median[4] <= Weighted[3] and MedBodyPrice[1] <= Weighted[1]) or (Weighted[2] < MedBodyPrice[0] and Median[4] <= Weighted[3] and MedBodyPrice[1] <= Weighted[1]))
eCond04 = AltExit ? true : close - strategy.position_avg_price < 0
Exit01 = not Cond00 and (eCond01 or eCond02 or (eCond03 and eCond04))

// Entries
strategy.entry(id="L1", long=true, limit=low + Enter_Gap, qty=(Quantity > 0 ? Quantity : Ncon), when=Entry01)
 
// Exits
strategy.close("L1", Exit01)