Эта стратегия предназначена для использования функции отслеживания стоп-убытков платформы Bitmestra, динамической корректировки цены стоп-убытков для более точного и гибкого стоп-убытков. Эта стратегия не используется для входа и выхода из рынка, а дает разумный диапазон стоп-убытков в различных рыночных условиях. Рекомендуется оптимизировать различные параметры путем обратной измерения.
В этой стратегии используются три основных показателя: наивысшая цена, наименьшая цена и цена закрытия. Сначала стратегия определяет пределы остановки для длинных и коротких позиций, то есть многоголовое отслеживание остановки.longoffset
и пустой трассировщик стоп-дальностиshortoffset
│в том числе длинные позиции расстояние по умолчанию 228,5 пунктов, короткие позиции расстояние по умолчанию 243,5 пунктов│
Затем стратегия применяет следующую логику, чтобы отследить ценовую остановкуtrailstop
:
Это позволяет в режиме реального времени отслеживать и отслеживать цены стоп-лосса в зависимости от изменения максимальной и минимальной цены на рынке.
Наибольшее преимущество этой стратегии заключается в том, что она обеспечивает действительно динамичный и гибкий отслеживание стоп-убытков. По сравнению с фиксированной ценой стоп-убытков, динамическое отслеживание позволяет корректировать пределы стоп-убытков в зависимости от рыночных колебаний, избегая ненужных потерь, вызванных слишком большим стоп-диапазоном, а также избегая того, чтобы стоп-диапазон, слишком маленький, был поражен обычными колебаниями цен. Это уменьшает как ненужные потери, так и снижает вероятность преждевременного стоп-убытков.
Еще одним преимуществом является то, что стоп-расстояние может быть настроено и оптимизировано. Пользователь может выбрать свой собственный стоп-расстояние в зависимости от особенностей различных видов и стилей торговли. Это позволяет применять стратегию в более широком диапазоне сценариев.
В конце концов, логика стоп-убытков в этой стратегии проста, понятна и легко интегрируется в другие стратегии.
Основные риски этой стратегии:
Динамический стоп может только уменьшить убытки при нормальных условиях, не защищая от больших внезапных событий или убытков, вызванных экстремальными обстоятельствами. Это сама ограниченность динамического стопа.
Если отслеживать стоп-дистанцию слишком большой, это может привести к увеличению убытков. Если расстояние слишком маленькое, это может привести к преждевременной потере. Настройка расстояния требует тщательного тестирования и оптимизации в соответствии с особенностями разновидности.
В течение нескольких K-линий после открытия позиции, из-за отслеживания механизма стоп-убытков, стоп-дистанция может быть слишком большой, и в это время существует определенный дополнительный риск.
Эта стратегия может быть оптимизирована в следующих направлениях:
Оптимизация параметров различных сортов: выбор разумных многоголовых и пустых голов для отслеживания остановочных расстояний в зависимости от показателей, таких как степень колебаний различных сортов и диапазон колебаний в течение дня. Это наиболее важное направление оптимизации.
Снижение дополнительного риска нескольких K-линий после открытия позиции: можно ограничить масштаб корректировки стоп-дистанции для отслеживания нескольких K-линий после открытия позиции, чтобы избежать чрезмерного стоп-дистанции.
Объединение с объемом торгов: например, снижение стоп-лосса в период увеличения объема торгов, чтобы избежать убытков от арбитража.
В сочетании с другими стратегиями входа и выхода: Основная роль этой стратегии заключается в отслеживании стоп-лосса, которая может быть интегрирована в другие стратегии и использоваться в сочетании с правилами входа и выхода.
Эта стратегия реализует функцию динамического отслеживания стоп-убытков в зависимости от изменения максимальной и минимальной цены. Это позволяет эффективно уменьшать ненужные потери в нормальных условиях, а также лучше решает проблему слишком большого и слишком маленького фиксированного стоп-расстояния. Ключевое направление оптимизации заключается в тестировании параметров, подходящих для разных сортов, а также в контроле риска нескольких K-линий после открытия позиции. Логика стоп-убытков этой стратегии проста, понятна и вторична, может быть интегрирована в другие стратегии или использоваться в качестве отдельного инструмента для стоп-убытков.
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//By River
strategy("BitMex Trailing Stop Strategy", overlay=true)
longoffset = input(defval=228.5, title="Long Trailing Stop Size", type=float, minval=0.5, maxval=1000, step=0.5)
shortoffset = input(defval=243.5, title="Short Trailing Stop Size ", type=float, minval=0.5, maxval=1000, step=0.5)
hiprice = request.security(syminfo.tickerid, "1", high)
loprice = request.security(syminfo.tickerid, "1", low)
price = request.security(syminfo.tickerid, "1", close)
trailstop = price
trailstop := (loprice <= trailstop[1] and loprice[1] >= trailstop[2]) ? price + shortoffset : ((hiprice >= trailstop[1] and hiprice[1] <= trailstop[2]) ? price - longoffset : (hiprice > trailstop[1] ? max(hiprice - longoffset, trailstop[1]) : (loprice < trailstop[1] ? min(loprice + shortoffset, trailstop[1]) : price)))
trailcol = trailstop > price ? red : green
plot(trailstop, color=trailcol)
longCondition = trailcol == green
alertcondition(longCondition, "Long Stop alert", "BUY")
if (longCondition)
strategy.entry("Long", strategy.long)
shortCondition = trailcol == red
alertcondition(shortCondition, "Short alert", "SELL")
if (shortCondition)
strategy.entry("Short", strategy.short)