
Многофазная стратегия торговли с ценовым прорывом и выводом является торговой системой, основанной на ценовом поведении, основной целью которой является выявление конкретных ценовых моделей и точный вход в точки прорыва. Эта стратегия используется для мониторинга отношений между ценой открытия, ценой максимума, ценой минимума и ценой закрытия на диаграмме, в сочетании с анализом разрыва в точках, чтобы уловить время изменения динамики рынка.
Ключевым принципом стратегии является выявление и использование возможностей для продолжения после быстрых колебаний цен. При более глубоком анализе кода мы можем увидеть, что стратегия следует следующим принципам:
Система позиционированияСтратегия делит логику торговли на три фазы ((phase 1-3), в зависимости от разных фаз вызывает различные условия входа.
Прорывные условияВ случае многосторонних сделок в основном проверяются следующие условия:
Обратная логикаВнешняя торговля использует обратную логику, полностью симметричную с многосторонней торговлей, для определения времени входа в рынок путем мониторинга отношений между начальной ценой и минимальной ценой.
Параметры тормозной остановкиСтратегия использует фиксированную точку стоп-стоп стратегии, многоголовый стоп-стоп устанавливается на 301 пункт ниже цены входа, стоп-стоп устанавливается на 301 пункт выше цены закрытия предыдущего; поток по пустым позициям - наоборот.
После более глубокого анализа кода выявлены следующие явные преимущества этой стратегии:
Многоступенчатый механизм сужденияПринимая во внимание три фазы, можно избежать ошибочных выводов, вызванных одним условием, и повысить точность приема.
Ориентация и отступлениеСтратегия ориентирована как на прорывную динамику цены, так и на возможные отступления, сбалансировав агрессивность и защиту.
Гибкость параметров: С помощью параметров точечного значения, стратегия может быть адаптирована к различным рынкам и видам с различными волатильными характеристиками, что повышает ее полезность.
Двусторонние сделкиСтратегия включает в себя одновременную логику торговли в двух направлениях, чтобы максимально использовать рыночные возможности и не ограничиваться односторонними тенденциями.
Встроенное управление рискамиС помощью заранее заданного стоп-стоп-очка риски и потенциальные выгоды каждой сделки четко контролируются.
Несмотря на то, что стратегия была продуманной, она содержит следующие потенциальные риски:
Фиксированная точка настройкиФиксированные точки в стратегии, такие как 300, 50, 250 и 301, могут не подходить для всех рыночных условий, особенно в периоды значительного изменения волатильности. Решение состоит в том, чтобы скорректировать эти параметры в соответствии с особенностями разновидности и текущей динамикой волатильности рынка.
Риск ложного проникновения: рынок может иметь фейковые прорывы, которые быстро отступают после кратковременного прорыва, что приводит к ошибочным сигналам. Такие риски можно снизить, добавив подтверждающие показатели, такие как объем торгов или другие динамические показатели.
Возможные убытки: В рыночных потрясениях, цены часто касаются прорыва, но не формируют тенденцию, что может привести к последовательным остановкам. Решение заключается в добавлении фильтров рыночной среды, уменьшении или приостановке торговли в рыночных потрясениях.
Эффекты выполнения скольжения: стратегия зависит от точного ценового пункта, в реальной торговле могут возникнуть проблемы со скольжением, особенно на рынках с низкой ликвидностью. Рекомендуется моделировать ситуацию со скольжением при обратном измерении и надлежащим образом ослабить условия входа в реальном секторе.
Сложность позиционного отслеживанияМногофазный дизайн, хотя и повышает точность, но также увеличивает логическую сложность, которая может привести к задержкам или ошибкам в исполнении сделок. Регулярные проверки и упрощение логики могут повысить эффективность исполнения.
Вот несколько возможных вариантов оптимизации этой стратегии:
Изменение динамических параметров: изменение параметров фиксированных точек на динамические параметры, основанные на рыночных колебаниях (например, показатели ATR), что позволяет стратегии лучше адаптироваться к различным рыночным условиям. Таким образом, можно уменьшить триггерные отметки в периоды низкой волатильности, увеличить отметки в периоды высокой волатильности и повысить адаптивность.
Увеличение рыночных фильтровВнедрение индикаторов трендового анализа (например, направление движущейся средней или индикатор ADX), осуществление стратегии только в благоприятных рыночных условиях, избегание торговли в неблагоприятных условиях.
Оптимизация параметров стоп-лоссаМожно рассмотреть возможность использования отслеживаемого стопа вместо фиксированного стопа, что позволит иметь больше возможностей для прибыльной торговли, защищая при этом уже полученную прибыль.
Добавление подтверждающих факторов: увеличение объема сделок, подтверждение структуры рынка или других технических показателей при запуске входного сигнала, уменьшение влияния ложных сигналов.
Фильтр времениДобавление фильтров на время торгового окна, чтобы избежать открытия и закрытия рынка в периоды с большой волатильностью, но неопределенным направлением, и сосредоточиться на более стабильных периодах.
Упрощенная логика позиционного преобразования: перепроектирование логики фазового преобразования, уменьшение ненужных проверок состояния, упрощение структуры кода, повышение эффективности исполнения.
Стратегия многофазного ценового прорыва и вывода - это хорошо структурированная торговая система, которая использует многоуровневый анализ ценового поведения для выявления выгодных торговых возможностей. Ее ключевые преимущества заключаются в многофазных механизмах суждения, двухсторонних торговых возможностях и встроенной системе управления рисками. Несмотря на проблемы, связанные с адаптацией фиксированных параметров и риском ложного прорыва, стабильность и прибыльность стратегии могут быть значительно улучшены путем внедрения таких оптимизационных мер, как динамические параметры, фильтрация рыночной среды и факторы подтверждения.
Эта стратегия особенно подходит для средне- и краткосрочных трейдеров, особенно для тех, кто следит за ценовым поведением и хочет вмешаться в начале динамических изменений. С помощью тщательной корректировки параметров и добавления соответствующих фильтрующих условий эта стратегия может развиваться в надежную торговую систему, обеспечивающую стабильный источник дохода для количественных торговых портфелей.
/*backtest
start: 2024-05-13 00:00:00
end: 2025-05-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("Custom Strategy", overlay=true, margin_long=1, margin_short=1, process_orders_on_close=true)
// 参数设置
point_value = input.float(0.0001, title="点值(例如:0.0001代表1个点)")
// 多单逻辑变量
var float long_ref_open = na
var float long_ref_high = na
var bool long_condition1 = false
var bool long_condition2 = false
var int long_phase = 0
// 空单逻辑变量
var float short_ref_open = na
var float short_ref_high = na
var bool short_condition1 = false
var bool short_condition2 = false
var int short_phase = 0
// 多单条件检查
// 多单第一条件检查
if not long_condition1 and not long_condition2
if high[1] - open[1] >= 300 * point_value
if low[1] <= high[1] - 50 * point_value
strategy.entry("Long", strategy.long)
else
long_ref_open := open[1]
long_ref_high := high[1]
long_phase := 1
else if close[1] - open[1] < 300 * point_value
long_phase := 2
// 多单第二条件检查
if long_phase == 1
if low <= long_ref_open + 250 * point_value
strategy.entry("Long", strategy.long)
long_phase := 0
if long_phase == 2
if high - close[1] >= 300 * point_value
if low <= high - 50 * point_value
strategy.entry("Long", strategy.long)
long_phase := 0
else
long_phase := 3
else
long_phase := 0
if long_phase == 3
if low <= open[2] + 250 * point_value
strategy.entry("Long", strategy.long)
long_phase := 0
// 空单条件检查(反向逻辑)
// 空单第一条件检查
if not short_condition1 and not short_condition2
if open[1] - low[1] >= 300 * point_value
if high[1] >= low[1] + 50 * point_value
strategy.entry("Short", strategy.short)
else
short_ref_open := open[1]
short_ref_high := low[1]
short_phase := 1
else if open[1] - close[1] < 300 * point_value
short_phase := 2
// 空单第二条件检查
if short_phase == 1
if high >= short_ref_open - 250 * point_value
strategy.entry("Short", strategy.short)
short_phase := 0
if short_phase == 2
if close[1] - low >= 300 * point_value
if high >= low + 50 * point_value
strategy.entry("Short", strategy.short)
short_phase := 0
else
short_phase := 3
else
short_phase := 0
if short_phase == 3
if high >= open[2] - 250 * point_value
strategy.entry("Short", strategy.short)
short_phase := 0
// 止损止盈逻辑
if strategy.position_size > 0
strategy.exit("Long Exit", "Long", stop = strategy.position_avg_price - 301 * point_value,limit = close[1] + 301 * point_value)
if strategy.position_size < 0
strategy.exit("Short Exit", "Short",stop = strategy.position_avg_price + 301 * point_value, limit = close[1] - 301 * point_value)