
Количественная торговая стратегия Gandalf - это стратегия отслеживания тенденций, основанная на средних значениях. Она определяет направление текущей тенденции, чтобы найти оптимальную точку входа, путем вычисления средневзвешенной цены, средних значений и фактических средних цен.
Центральная логика стратегии Гандальфа заключается в сравнении величины соотношения между весовой средней ценой, средней линией цены и фактической средней ценой для определения направления и силы текущего тренда.
В частности, он рассчитывает следующие цены:
При входе он сравнивает величину соотношения между весовым средним и средним значением и фактической средней ценой на первых двух K-линиях, чтобы определить, соответствует ли это характеристике начала тренда.
Например, если средневзвешенная цена ниже средней и средняя цена объекта также ниже средневзвешенной, это свидетельствует о том, что цена падает, и это является возможностью для дисконтирования.
При выходе из остановки он продолжает сравнивать величины этих цен, чтобы определить, есть ли признаки обратного тренда. Если весовое среднее значение выше средней цены, а средняя линия также ниже весового среднего значения, то следует немедленно прекратить убыток.
С помощью этого метода сравнения величины и величины ценовых отношений стратегия Гандальфа позволяет оценивать и отслеживать тенденции. Она может найти лучшее время входа, а также быстро обнаружить обратный тренд и остановить убытки.
Стратегия Гандальфа имеет следующие преимущества:
Используя среднюю линию для определения направления тенденции, можно эффективно фильтровать рыночный шум и блокировать основные тенденции.
Условия участия в тендере в сочетании с различными ценовыми сопоставлениями позволяют более надежно оценить начало тренда.
Стоп-лошади также используют ценовые сравнения, чтобы определить обратный тренд, чтобы быстро остановить убытки и контролировать риск.
При условии, что вход осуществляется по индивидуальному режиму, то можно зайти по оптимальным ценам.
Предоставляется возможность предварительно установить количество стоп-постов и лимиты на хранение, что позволяет блокировать прибыль и контролировать риски в каждой сделке.
Структура кода ясна, проста, легко понятна и изменяется.
Параметры могут быть скорректированы в соответствии с личными предпочтениями в отношении риска и легко оптимизированы.
Применяется для трендовых сортов, для получения прибыли от тренда.
В целом, стратегия Гандальфа использует среднюю линию для определения тенденции, устанавливает условия для остановки и остановки, эффективно контролирует риск отслеживания тенденции и является надежной стратегией отслеживания тенденции.
Однако, есть некоторые риски, о которых следует помнить в стратегии Гандалфа:
В качестве стратегии отслеживания трендов, когда тренд не является очевидным или часто меняется, возникают меньшие потери.
Невозможность эффективно оценить точку обратной тенденции может привести к увеличению убытков
В результате, в результате, в результате, в результате.
В зависимости от настроек параметров, различные сорта требуют корректировки параметров.
В частности, он отметил, что в случае с “односторонним” размещением позиций, они не смогут получить прибыль от обратного развития событий.
Условия с высоким уровнем провалов и длительным сроком ожидания.
Соответствующие меры управления рисками:
Применение небольших позиций, групповой вход, контроль одиночных потерь.
Установите линию остановки, быструю остановку. Или используйте мобильную остановку для отслеживания остановки.
Оптимизация параметров, адаптация к текущей разновидности. Помощь в определении тенденций с помощью других показателей.
Для снижения затрат можно использовать метод пополнения Мартингеля.
Сделки имеют явную тенденцию, прибыль высока.
Соответствующая смягчение условий приема с учетом вероятности приема.
Также можно оптимизировать стратегию Гандальфа в следующих аспектах:
Построение показателей для определения тенденции, которые помогают определить время обратного тренда. Например, принятие решения о включении в MACD, Брин-Бенд и т. Д.
Добавлена функция дифференцированной оптимизации, которая автоматически оптимизирует параметры для большего количества сортов.
Добавление алгоритмов машинного обучения, обучение трендов с использованием исторических данных, нейронная сеть или модель SVM.
Добавление способов торможения, таких как движущаяся тормоза, показательная движущаяся тормоза.
В сочетании с соответствующими продуктами, проводится разница в ценах арбитража или статистического арбитража.
Присоедините прогноз состояния, основанный на модели Игнатия Маркова, для оценки состояния дел.
Построение комплексных стратегий, таких как комбинация с однолинейными, для реализации многостратегического управления.
Оптимизация портфеля торговых стратегий и определение его веса.
В целом, стратегия 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)