Стратегия покупки на основе прорыва объема цен

SMA
Дата создания: 2024-05-17 14:54:13 Последнее изменение: 2024-05-17 14:54:13
Копировать: 2 Количество просмотров: 730
1
Подписаться
1617
Подписчики

Стратегия покупки на основе прорыва объема цен

Обзор

“Стратегия покупки и продажи по цене” - это торговая стратегия, направленная на выявление возможности покупки путем обнаружения одновременных ценовых и объемных прорывов в пределах заданного диаграмма. Эта стратегия сначала использует определенное количество нитей в качестве окна проверки цены и объема сделки. Эти значения используются в качестве ориентира для идентификации условий прорыва.

Стратегический принцип

  1. Установите в качестве окна проверки циклы прорыва цены и циклы прорыва объема торгов.
  2. Получение максимальной и минимальной цены в течение периода прорыва цены.
  3. Получение наибольшего объема транзакций в течение периода прорыва в объеме транзакций.
  4. Если цена закрытия выше максимальной цены предыдущего цикла, объем торгов выше максимального объема торгов предыдущего цикла, цена закрытия выше простой подвижной средней длины трендовой линии (SMA), и в настоящее время нет никаких открытых позиций, а также установка направления ордера не является пустой, то начинается торговля.
  5. Если в течение 5 дней подряд цена закрытия будет ниже длины трендовой линии SMA, выровняйте все позиции с большим преимуществом.
  6. Если цена закрытия ниже минимальной цены предыдущего цикла, объем торгов выше максимального объема торгов предыдущего цикла, цена закрытия ниже SMA длины трендовой линии, и в настоящее время нет никаких открытых сделок, при этом установка направления ордера не является много, то начинается пустота.
  7. Если в течение 5 дней подряд цена закрытия будет выше SMA длины трендовой линии, ликвидируйте все свободные позиции.

Стратегические преимущества

  1. В то же время, используя ценовые и объемные прорывы в качестве сигналов покупки и продажи, можно лучше определить сдвиг в тренде.
  2. Перед открытием позиции проверяйте, не превышает ли цена или не превышает долгосрочную SMA, чтобы убедиться, что сделка соответствует основным тенденциям рынка.
  3. Установка последовательных многодневных закрытий цен через SMA в качестве сигнала затягивания может эффективно захватить конец тренда.
  4. Применяется для высоко волатильных активов, таких как биткойн и Ethereum, которые могут использовать внезапные изменения цен и объемов торгов на рынке для получения прибыли.

Стратегический риск

  1. При небольших колебаниях на рынке или отсутствии явных тенденций эта стратегия может привести к частым сделкам, что увеличивает стоимость сделки.
  2. Для рынков с меньшей волатильностью, таких как индекс S&P 500, эффективность этой стратегии может быть менее заметной, чем в криптовалютном рынке.
  3. Эта стратегия может привести к меньшему количеству торговых сигналов в более высоких временных рамках, поскольку большинство сделок склонны иметь более длительный период хранения.

Направление оптимизации стратегии

  1. В зависимости от различных рыночных особенностей, длительность циклов ценовых и объемных прорывов адаптируется к волатильности различных активов.
  2. Попробуйте использовать другие индикаторы подтверждения тенденции, такие как индексные скользящие средние, MACD и т. д., чтобы повысить точность определения тенденции.
  3. Включение в стратегию мер по управлению рисками, таких как установка стоп-лосс, динамическая корректировка позиций и т. д., для снижения рисковых порогов для одноразовой торговли.
  4. Для сделок с более длительным периодом хранения можно рассмотреть возможность включения стратегии мобильного остановки, чтобы лучше защитить полученную прибыль.

Подвести итог

“Стратегия покупки или покупки по цене” - это стратегия для отслеживания тенденций, подходящая для рынков с высокой волатильностью. Эта стратегия лучше ловит торговые возможности в сильных ситуациях, учитывая одновременно цены и объем торгов, а также в сочетании с долгосрочными SMA в качестве фильтра на тенденции. Однако эта стратегия может плохо работать на рынках, где тенденции не заметны или менее волатильны, и может подвергаться риску частоты торгов.

Исходный код стратегии
/*backtest
start: 2023-05-11 00:00:00
end: 2024-05-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tradedots

//@version=5
strategy("Price and Volume Breakout Buy Strategy [TradeDots]", overlay=true, initial_capital = 10000, default_qty_type = strategy.percent_of_equity, default_qty_value = 70, commission_type = strategy.commission.percent, commission_value = 0.01)

input_price_breakout_period = input.int(60, "Price Breakout Period")
input_volume_breakout_period = input.int(60, "Volume Breakout Period")
input_trendline_legnth = input.int(200, "Trendline Length")
input_order_direction = input.string("Long", options = ["Long", "Short", "Long and Short"], title = "Order Direction")

price_highest = ta.highest(input_price_breakout_period)
price_lowest = ta.lowest(input_price_breakout_period)
volume_highest = ta.highest(volume, input_volume_breakout_period)

// Long Orders
if close > price_highest[1] and volume > volume_highest[1] and close > ta.sma(close, input_trendline_legnth) and strategy.opentrades == 0 and input_order_direction != "Short"
    strategy.entry("Long", strategy.long)
    // line.new(bar_index[input_price_breakout_period], price_highest[1], bar_index, price_highest[1], color = #9cff87, width = 2)
    // label.new(bar_index,low, "🟢 Breakout Buy", style = label.style_label_up, color = #9cff87)

// Close when price is below moving average for 5 consecutive days
if close < ta.sma(close, input_trendline_legnth) and close[1] < ta.sma(close, input_trendline_legnth) and close[2] < ta.sma(close, input_trendline_legnth) and close[3] < ta.sma(close, input_trendline_legnth) and close[4] < ta.sma(close, input_trendline_legnth) and strategy.opentrades.size(strategy.opentrades - 1) > 0
    strategy.close("Long")
    // label.new(bar_index, high, "🔴 Close Position", style = label.style_label_down, color = #f9396a, textcolor = color.white)

// Short Orders
if close < price_lowest[1] and volume > volume_highest[1] and close < ta.sma(close, input_trendline_legnth) and strategy.opentrades == 0 and input_order_direction != "Long"
    strategy.entry("Short", strategy.short)
    // line.new(bar_index[input_price_breakout_period], price_lowest[1], bar_index, price_lowest[1], color = #f9396a, width = 2)
    // label.new(bar_index,high , "🔴 Breakout Sell", style = label.style_label_down, color = #f9396a, textcolor = color.white)

// Close when price is above moving average for 5 consecutive days
if close > ta.sma(close, input_trendline_legnth) and close[1] > ta.sma(close, input_trendline_legnth) and close[2] > ta.sma(close, input_trendline_legnth) and close[3] > ta.sma(close, input_trendline_legnth) and close[4] > ta.sma(close, input_trendline_legnth) and strategy.opentrades.size(strategy.opentrades - 1) < 0
    strategy.close("Short")
    // label.new(bar_index, low, "🟢 Close Position", style = label.style_label_up, color = #9cff87)

plot(ta.sma(close, input_trendline_legnth), color = color.white, linewidth = 2)
plotcandle(open, high, low, close, title='Candles', color = (close > ta.sma(close, input_trendline_legnth) ? #9cff87 : #f9396a), wickcolor=(close > ta.sma(close, input_trendline_legnth) ? #9cff87 : #f9396a), force_overlay = true)