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

브링 벨트 표준 오차 2층 필터링 5분 거래 전략 정량화

저자:차오장, 날짜: 2024-04-30 16:03:11
태그:BBSMAstdev

布林带标准差双层过滤五分钟量化交易策略

개요

이 전략은 브린밴드 지표에 기반하여, 두 계층의 표준 격차를 필터링하여, 5분 시간 프레임에서 빠른 거래를 달성한다. 가격이 열차로 떨어지면 구매하고, 열차를 깨면 판매한다. 열차는 다른 기준 격차에 의해 설정되며, 다른 색상의 표지를 사용하여, 직관적으로 추세를 강하게 표시한다.

전략적 원칙

  1. 브린 벨트 기준선을 계산한다.
  2. 마감 가격은 하선 1의 하단 방향으로 지나가면 구매 신호가 발생한다.
  3. 마감값이 열차 1의 위쪽 방향으로 지나가면 파는 신호가 발생한다.
  4. 구매 후, 판매 신호가 나타나면 평형. 판매 후, 구매 신호가 나타나면 평형.
  5. 열차 2와 열차 2는 트렌드 강도를 식별하여 보조 판단을 제공합니다.

전략적 장점

  1. 두 계층의 표준의 잘못된 설정은 추세 판단의 정확성을 향상시킵니다.
  2. 5분 수준의 거래 빈도가 높고, 빠른 출입에 적합합니다.
  3. 트렌드 강도를 보조적으로 판단하는 것은 위험을 조절하는 데 도움이 됩니다.
  4. 다양한 시장에 적응할 수 있는 파라미터.

전략적 위험

  1. 빈번한 거래는 높은 절차 비용을 초래할 수 있습니다.
  2. 트렌드를 잘못 판단하면 손실이 발생할 수 있습니다.
  3. 그러나 이 모든 것은 다른 나라와 비교할 수 없습니다.
  4. 한쪽의 추세에 대한 이해가 부족합니다.

전략적 최적화 방향

  1. 한 거래의 위험을 통제하기 위해 손해배상 및 손해배상 메커니즘을 도입합니다.
  2. 브린밴드 매개 변수를 최적화하여 트렌드 캡처 능력을 향상시킵니다.
  3. 트렌드 판단 보조 지표, 예를 들어 MA를 추가하면 승률을 높일 수 있습니다.
  4. 은 시장에 대한 필터링 조건을 설정합니다.

요약

이 전략은 브린 띠의 통계적 특성을 활용하고, 두 층의 필터링이 트렌드 판단을 강화하여, 5분 수준에서 빠르게 트렌드 기회를 포착하는 데 적합하다. 그러나 빈번한 거래와 바람 통제의 부족의 문제들은 여전히 최적화되어야 한다. 앞으로는 손해 방지 , 파라미터 선호 및 보조 판단 등의 측면을 계속 개선하여 전체 안정성과 수익성을 향상시킬 수 있다.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//This displays the traditional Bollinger Bands, the difference is
//that the 1st and 2nd StdDev are outlined with two colors and two
//different levels, one for each Standard Deviation

strategy("Five Min Scalping Strategy", overlay=true)

src = input(close, title="Source")
length = input.int(20, minval=1, title="Length")
mult = input.float(2.0, minval=0.001, maxval=50, title="Multiplier")

basis = ta.sma(src, length)
dev = ta.stdev(src,length)
dev2 = mult * dev

upper1 = basis + dev
lower1 = basis - dev
upper2 = basis + dev2
lower2 = basis - dev2

LongCondition = close[1] < lower1 and close > lower1
ShortCondition = close[1] > upper1 and close < upper1

strategy.entry("Long", strategy.long, when = LongCondition)
strategy.entry("Short", strategy.short, when = ShortCondition)

strategy.close("Long", when = ShortCondition)
strategy.close("Short", when = LongCondition)

colorBasis = src >= basis ? color.blue : color.orange

pBasis = plot(basis, linewidth=2, color=colorBasis)
pUpper1 = plot(upper1, color=color.new(color.blue, 0), style=plot.style_circles)
pUpper2 = plot(upper2, color=color.new(color.blue, 0), style=plot.style_circles)
pLower1 = plot(lower1, color=color.new(color.orange, 0), style=plot.style_circles)
pLower2 = plot(lower2, color=color.new(color.orange, 0), style=plot.style_circles)

fill(pBasis, pUpper2, color=color.new(color.blue, 80))
fill(pUpper1, pUpper2, color=color.new(color.blue, 80))
fill(pBasis, pLower2, color=color.new(color.orange, 80))
fill(pLower1, pLower2, color=color.new(color.orange, 80))


관련 내용

더 많은 내용