Эта стратегия известна как стратегия двойного прорыва из количественной стратегии торговли. Основная идея этой стратегии заключается в использовании перекрестных сигналов быстрых и медленных движущихся сред, чтобы осуществить суждение о ценовых тенденциях и, следовательно, принять решения о покупке и продаже.
Основными показателями стратегии являются быстрые и медленные средние движения. Стратегия использует перекрестные отношения между быстрыми и медленными средними движениями для определения ценовых тенденций и принятия решений о покупке и продаже.
В частности, параметры быстрых движущихся средних установлены на 24 цикла, параметры медленных движущихся средних установлены на 100 циклов. Когда быстрые движущиеся средние пересекают медленные движущиеся средние с нижнего направления, это означает, что цена входит в рост, и тогда стратегия отправляет сигнал покупки; когда быстрые движущиеся средние пересекают медленные движущиеся средние с верхнего направления, это означает, что цена входит в спад, и тогда стратегия отправляет сигнал продажи.
Это позволяет эффективно улавливать изменения в ценовых тенденциях, помогая принимать решения о покупке или продаже, определяя направление пересечения быстро движущейся средней.
В частности, в частности:
Принцип прост, понятен и прост в применении. Двойной сплошной скрещивание является одним из самых основных технических показателей, который легко понять и применить.
Параметры регулируемы, адаптивны. Параметры быстрых и медленных движущихся сред могут быть изменены в соответствии с реальными ситуациями, что делает стратегию более гибкой.
Сильная способность улавливать изменения тренда. Двойной уравнительный перекресток часто используется для улавливания поворотных точек, когда цена переходит от свертывания к тренду.
Эффективно фильтрует колебания и уменьшает неэффективные сделки. Двойная уравнительная линия может быть использована для идентификации колебаний, чтобы избежать повторного открытия позиций в колебаниях.
В то же время в этой стратегии есть некоторые риски:
Двусмерные перекрестные сигналы могут быть задержанными. Двусмерные перекрестные сигналы часто задерживаются определенный период, как индикатор трендосопровождения. Это может привести к некоторой степени затрат на возможность.
В нестабильных рынках легко возникают ложные сигналы. Двойная уравненная линия лучше всего работает, когда существует явный тренд цены. Однако в нестабильных рынках легко возникают частые ложные сигналы.
Неправильная настройка параметров может повлиять на эффективность стратегии. Если неправильно настроить параметры медленной средней линии, это может повлиять на чувствительность захвата перекрестного тренда.
Относительное решение:
Сокращение циклов средней линии, повышение чувствительности перекрестного сигнала.
Присоединение показателей волатильности или объема торговли для фильтрации и уменьшения неэффективных сделок в условиях нестабильных рынков.
Оптимизация параметров, поиск оптимальной комбинации параметров.
Эта стратегия может быть оптимизирована в следующих аспектах:
Использование более продвинутых технологических показателей движущихся сред, таких как линейные взвешенные движущиеся средние и т.д., заменило простые движущиеся средние, что повысило отслеживание и прогнозирование показателей.
Добавление большего количества вспомогательных показателей, таких как показатели объема торговли, показатели частоты колебаний и т. д., для совместной фильтрации, уменьшает неэффективные сигналы.
Оптимизировать параметры средней линии быстро и медленно, улучшить адаптивность параметров. Можно использовать методы машинного обучения, случайной оптимизации и т. д.
После вступления в действие стратегии можно разработать стоп-лосс и мобильные стоп-лос, чтобы контролировать однократные потери. При этом включать в себя технологии оптимизации прибыли, чтобы обеспечить достаточную прибыль.
Новые технологии, такие как глубокое обучение, могут быть использованы для выявления более сложных ценовых моделей, которые помогают принимать решения о покупке и продаже на перекрестном уровне с целью получения лучших результатов.
В целом эта стратегия является классической и простой, основанной на двулинейных показателях, чтобы определить ценовые тенденции, чтобы выявить возможности преобразования цены из колебаний в тенденции. Преимущества заключаются в четкости мышления, простоте и практичности, а также в том, что она подходит для отслеживания трендовых рынков. Однако есть некоторые недостатки, такие как задержка сигналов, которая требует корректировки и оптимизации параметров для повышения стабильности и эффективности торговли. В целом эта стратегия более подходит как базовая стратегия, но требует постоянной оптимизации для адаптации к более сложной рыночной среде.
/*backtest start: 2024-01-21 00:00:00 end: 2024-02-20 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Pine Script Tutorial Example Strategy 1', overlay=true, initial_capital=100000, default_qty_value=100, default_qty_type=strategy.percent_of_equity) //OBV src = close obv = ta.cum(math.sign(ta.change(src)) * volume) ma(source, length, type) => switch type "SMA" => ta.sma(source, length) "EMA" => ta.ema(source, length) "SMMA (RMA)" => ta.rma(source, length) "WMA" => ta.wma(source, length) "VWMA" => ta.vwma(source, length) typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing") smoothingLength = input.int(title = "Length", defval = 20, minval = 1, maxval = 100, group="Smoothing") Limit = input.float(title = "Limit", defval = 1, minval = 0.1, maxval = 10, group="Smoothing") smoothingLine_ma = ma(obv,smoothingLength, typeMA) obv_diff = (obv-smoothingLine_ma)*100/obv //PVT var cumVolp = 0. cumVolp += nz(volume) if barstate.islast and cumVolp == 0 runtime.error("No volume is provided by the data vendor.") srcp = close vt = ta.cum(ta.change(srcp)/srcp[1]*volume) smoothingLine_map = ma(vt,smoothingLength, typeMA) pvt_diff = (vt-smoothingLine_map)*100/vt // plot(obv_diff+close+100 ,title="OBV_DIFF", color = color.rgb(255, 118, 54)) // plot(pvt_diff+close+80 ,title="PVT_DIFF", color = color.rgb(223, 61, 255)) indicator = (pvt_diff+obv_diff)/2 goLongCondition1 = ta.crossover(indicator,Limit) timePeriod = time >= timestamp(syminfo.timezone, 2023,1, 1, 0, 0) // Backtesting Time notInTrade = strategy.position_size <= 0 if goLongCondition1 and timePeriod and notInTrade stopLoss = low * 0.99 // -2% takeProfit = high * 1.05 // +5% strategy.entry('long', strategy.long ) strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit) // fastEMA = ta.ema(close, 24) // slowEMA = ta.ema(close, 100) // goLongCondition1 = ta.crossover(fastEMA, slowEMA) // timePeriod = time >= timestamp(syminfo.timezone, 2018, 12, 15, 0, 0) // notInTrade = strategy.position_size <= 0 // if goLongCondition1 and timePeriod and notInTrade // stopLoss = low * 0.97 // takeProfit = high * 1.12 // strategy.entry('long', strategy.long) // strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit) // plot(fastEMA, color=color.new(color.blue, 0)) // plot(slowEMA, color=color.new(color.yellow, 0))