리소스 로딩... 로딩...

가격 및 부피 파업 구매 전략

저자:차오장, 날짜: 2024-05-17 14:54:13
태그:SMA

img

전반적인 설명

가격 및 볼륨 브레이크아웃 구매 전략 (Price and Volume Breakout Buy Strategy) 은 특정 범위의 촛불에서 동시에 가격 및 볼륨 브레이크아웃을 탐지함으로써 구매 기회를 식별하도록 설계된 거래 전략이다. 전략은 먼저 특정 수의 촛불을 가격과 볼륨 모두에 대한 검사 창으로 사용합니다. 이러한 값은 브레이크아웃 조건을 식별하기 위해 벤치마크로 사용됩니다. 폐쇄 가격과 거래 부피가 미리 결정된 창 내에서 관찰 된 최대 값을 초과하면 거래가 시작됩니다. 가격은 지정된 이동 평균 이상으로 트렌드 지표로 작용하여 모든 거래가 지배적인 시장 트렌드에 부합되도록해야합니다.

전략 원칙

  1. 가격 유동 기간과 부피 유동 기간을 검사 창으로 설정합니다.
  2. 가장 높은 가격과 가장 낮은 가격을 가격 파업 기간 내에 얻으십시오.
  3. 최대 거래량을 얻으세요.
  4. 종료 가격이 전기 최고 가격보다 높고 거래량이 전기 최고 거래량보다 높고 종료 가격이 트렌드 라인 길이의 단순한 이동 평균 (SMA) 보다 높고 현재 오픈 거래가 없으며 주문 방향이 단위로 설정되지 않은 경우, 긴 거리를 시작합니다.
  5. 닫기 가격이 5일 연속으로 트렌드라인 길이의 SMA보다 낮으면 모든 긴 포지션을 닫습니다.
  6. 종료 가격이 전기 최저 가격보다 낮고 거래량이 전기 최대 거래량보다 높고 종료 가격이 트렌드 라인 길이의 SMA보다 낮고 현재 오픈 거래가 없으며 주문 방향이 길게 설정되지 않은 경우 단축을 시작합니다.
  7. 닫기 가격이 5일 연속으로 트렌드라인 길이의 SMA보다 높으면 모든 쇼트 포지션을 닫습니다.

전략적 장점

  1. 가격과 부피의 브레이크오웃을 구매 및 판매 신호로 사용하는 것은 트렌드 변화를 더 잘 확인할 수 있습니다.
  2. 포지션을 열기 전에 가격이 장기 SMA보다 높거나 낮는지 확인하면 거래가 주요 시장 추세와 일치하는지 확인합니다.
  3. 마감 시그널로 마감 가격을 설정하여 여러 연속일 동안 SMA를 넘어서면 트렌드의 끝을 효과적으로 파악할 수 있습니다.
  4. 비트코인과 이더리움과 같은 매우 변동성 있는 자산에 적합하며, 시장 가격과 거래량의 갑작스러운 변화를 이용하여 수익을 창출할 수 있습니다.

전략 위험

  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)



관련

더 많은