
Стоимостный прорывный стоп-стоп - это количественная торговая система, разработанная специально для торговли цифровыми активами, которая захватывает рыночные прорывы путем размещения вкладок в локальных ценовых экстремальных позициях (покупка и продажа). Эта стратегия также реализует механизм отслеживания потерь, который блокирует прибыль, как только позиции достигают заданного уровня прибыли. Этот метод сочетает в себе преимущества ценового прорыва и управления рисками, предоставляя трейдерам автоматизированное торговое решение.
Стратегия основана на принципах ценового поведения и динамического управления рисками, и ее основная логика состоит из следующих ключевых частей:
Выявление локальных крайностей: Стратегия использует определенное временное окно (((Стратегия BarsN) для вычисления локальных максимумов и минимумов в качестве потенциальных точек прорыва. В частности, она использует (((BarsN * 2 + 1) K-линии для определения локальных максимумов и минимумов.
Настройка списка:
Фильтр времениСтратегия: позволяет трейдерам устанавливать торговые часы и торговать только в указанных часах, что помогает избежать нежелательных торговых периодов.
Расчет уровня прибыли и убытка:
Механизм отслеживания потерь:
После глубокого анализа кода, эта стратегия показала следующие значительные преимущества:
Автоматическое фиксирование прорываПри этом, в случае с более высоким уровнем цены, стратегию можно использовать для автоматического фиксации ценовых прорывов, не контролируя рынок вручную.
Динамическое управление рискамиПрименение стоп-стоп-лосс-настройки, основанной на процентах от текущей цены, позволяет управлять рисками более гибко и адаптироваться к различным уровням цен.
Механизм защиты прибылиС помощью функции отслеживания стоп-лосса стратегии могут эффективно блокировать полученную прибыль и уменьшать отзывы, сохраняя при этом пространство для роста.
Временная фильтрация: позволяет трейдерам выбирать оптимальные торговые периоды в зависимости от рыночных особенностей, избегая торговли в периоды времени с низкой волатильностью или непредсказуемостью.
Высокая степень адаптации: параметры стратегии могут быть скорректированы в зависимости от рыночных условий, например, для адаптации к различным рыночным условиям.
Дисциплинарные мерыВ качестве автоматизированной стратегии, она устраняет влияние эмоциональных факторов на торговые решения и выполняет сделки строго в соответствии с установленными правилами.
Несмотря на многочисленные преимущества данной стратегии, существуют некоторые потенциальные риски и ограничения:
Риск ложного проникновенияРынок может иметь ложные прорывы, которые приводят к нежелательным сделкам для стратегии. Решение заключается в увеличении подтверждающих показателей или корректировке размера буферных зон, чтобы уменьшить вероятность ложных прорывов.
Параметр Чувствительность: Политическая производительность сильно зависит от параметров, таких как BarsN, TPasPctBTC и SLasPctBTC. Ненадлежащие параметры могут привести к плохой производительности. Рекомендуется найти оптимальную комбинацию параметров путем обратного тестирования.
Неполное управление финансами: Несмотря на то, что в коде определены параметры RiskPercent, они практически не применяются для расчета размера позиции. Это может привести к несовершенству управления рисками.
Ограниченная готовность к экстремальным ситуациямВ условиях высокой волатильности или экстремальных рыночных условий простой локальный прорыв предельных значений и фиксированный процентный стоп могут быть недостаточными для эффективного управления рисками.
Скидки и задержки исполненияВ реальной сделке может произойти сбой или задержка в исполнении ордера, что может повлиять на эффективность стратегии.
Зависимость от единого рынка: Стратегия разработана для конкретных активов и может не применяться к другим активам с различными рыночными характеристиками.
На основе анализа кода стратегия может быть оптимизирована в следующих направлениях:
Динамическое управление позициями: реализация динамического расчета размера позиции на основе параметров RiskPercent, изменение размера позиции в зависимости от размера счета и текущего рыночного риска для более точного контроля риска.
Механизм многократного подтвержденияВведение дополнительных технических показателей для подтверждения прорыва, таких как объем сделок, динамика или тренд, чтобы уменьшить количество ложных сделок.
Параметры адаптацииВведение параметров, которые автоматически корректируются на основе рыночной волатильности или других рыночных характеристик, чтобы стратегия могла лучше адаптироваться к различным рыночным условиям.
Стратегия борьбы с отравлением: реализация механизма блокировки партий, позволяющего выйти из некоторых позиций на разных уровнях прибыли, что позволяет блокировать часть прибыли и сохранить большую прибыль.
Фильтр состояния рынкаПовышение оценки состояния рынка (тенденции, колебания и т. д.), изменение параметров стратегии или остановка торгов в зависимости от состояния рынка.
Оптимизация убытков: реализация динамического стоп-потери, основанного на ATR или других показателях волатильности, что делает стоп-потери более обоснованными.
Фреймворк отслеживания и оптимизацииРазработать более полную систему обратной связи, оценивать эффективность стратегии в разные периоды времени и при разных параметрах, а также искать оптимальные комбинации параметров.
Стоимостный прорывный отслеживающий стоп-стратегию - это изысканно разработанная автоматизированная торговая система, которая управляет риском, захватывая локальные крайнюе прорывы и применяя отслеживание стоп-убытков. Ее ключевые преимущества заключаются в автоматическом исполнении, динамическом управлении рисками и защите прибыли, что делает ее потенциально эффективным торговым инструментом.
Однако эффективность стратегии сильно зависит от параметров и рыночных условий. Реализация рекомендуемых мер оптимизации, таких как динамическое управление позициями, механизм многократного подтверждения и параметры адаптации, может значительно повысить устойчивость и адаптацию стратегии.
Для трейдеров рекомендуется проводить полное обратное обследование, чтобы найти комбинацию параметров, наиболее подходящих для текущей рыночной среды, и рассмотреть возможность использования других аналитических инструментов для подтверждения торговых сигналов. В то же время, постоянно контролировать и оценивать эффективность стратегии, своевременно корректировать параметры в соответствии с изменениями рынка, чтобы сохранить эффективность стратегии.
/*backtest
start: 2025-01-01 00:00:00
end: 2025-04-06 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("BTC Trading Robot", overlay=true, pyramiding=1, initial_capital=100000)
//============== Input Groups ==============//
// Trading Profile
group_trading = "BTC"
systemType = input.int(1, title="Trading System (1:BTC)", group=group_trading)
// Common Trading Inputs
group_common = "Trading Inputs"
RiskPercent = input.float(4.0, title="Risk as % of trading capital", group=group_common)
TradeComment = input.string("BTC trading robot", title="Trade Comment", group=group_common)
SHInput = input.int(0, title="Start Hour (0 = no filter)", group=group_common)
EHInput = input.int(0, title="End Hour (0 = no filter)", group=group_common)
// Gold Related Inputs
group_BTC = "BTC Related Input"
TPasPctBTC = input.float(0.2, title="TP as % of Price", group=group_BTC)
SLasPctBTC = input.float(0.1, title="SL as % of Price", group=group_BTC)
TSLasPctofTPBTC = input.float(5.0, title="Trail SL as % of TP", group=group_BTC)
TSLTgrasPctofTPBTC = input.float(7.0, title="Trail Tgra SL as % of TP", group=group_BTC)
// Other parameters
BarsN = 5
OrderDistPoints = 100.0
//============== Calculate Trade Parameters ==============//
var float Tppoints = 0.0
var float Slpoints = 0.0
var float TslTriggerPoints = 0.0
var float TslPoints = 0.0
price = close
// Adjust parameters based on system type (using 1 for Gold)
if systemType == 1
Tppoints := price * TPasPctBTC
Slpoints := price * SLasPctBTC
OrderDistPoints := Tppoints / 2.0
TslPoints := Tppoints * TSLTgrasPctofTPBTC / 100.0
TslTriggerPoints := Tppoints * TSLTgrasPctofTPBTC / 100.0
//============== Time Filter ==============//
currentHour = hour(time)
inSession = true
if SHInput != 0 and currentHour < SHInput
inSession := false
if EHInput != 0 and currentHour >= EHInput
inSession := false
//============== Find Local High and Low ==============//
localHigh = ta.highest(high, BarsN * 2 + 1)
localLow = ta.lowest(low, BarsN * 2 + 1)
//============== Entry Orders ==============//
if inSession and strategy.position_size == 0
// For a BuyStop order: only submit if current price is less than the desired entry level minus a buffer.
if price < localHigh - OrderDistPoints * syminfo.mintick
strategy.order("BuyStop", strategy.long, stop=localHigh, comment="BuyStop")
// For a SellStop order: only submit if current price is greater than the desired entry level plus a buffer.
if price > localLow + OrderDistPoints * syminfo.mintick
strategy.order("SellStop", strategy.short, stop=localLow, comment="SellStop")
//============== Trailing Stop Logic ==============//
if strategy.position_size > 0 // Long positions
longProfit = price - strategy.position_avg_price
if longProfit > TslTriggerPoints * syminfo.mintick
strategy.exit("Long Exit", from_entry="BuyStop", stop=price - TslPoints * syminfo.mintick, limit=strategy.position_avg_price + Tppoints * syminfo.mintick)
if strategy.position_size < 0 // Short positions
shortProfit = strategy.position_avg_price - price
if shortProfit > TslTriggerPoints * syminfo.mintick
strategy.exit("Short Exit", from_entry="SellStop", stop=price + TslPoints * syminfo.mintick, limit=strategy.position_avg_price - Tppoints * syminfo.mintick)