볼린저 밴드 오실레이터 기반 트렌드 추종 전략


생성 날짜: 2023-10-10 10:54:05 마지막으로 수정됨: 2023-10-10 10:54:05
복사: 0 클릭수: 739
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략의 핵심 아이디어는 트렌드를 식별하기 위해 부린 띠 오스컬레이터 지표를 사용하여 트렌드 변화가 발생했을 때 적시에 개입하는 것입니다. 가격이 부린 띠를 돌파 할 때 더 많이하고, 가격이 부린 띠를 돌파 할 때 공백을 만들고, 트렌드 추적 방식을 사용하여 수익을 얻습니다.

전략 원칙

이 전략은 주로 부린띠 진동수 지표에 기반하여 트렌드 방향을 판단한다. 부린띠 진동수의 계산 공식은 다음과 같다.

BBO = (收盘价 - N日移动平均价) / (2 * N日标准差) * 100

그 중 클로즈값은 당일 클로즈값, N일 이동 평균값은 클로즈값의 N일 단순 이동 평균값, N일 표준 차이는 클로즈값의 N일 표준 차이다.

이 전략은 먼저 65일간의 부린띠 진동수를 계산하고, 그 다음 부린띠 진동수의 30일간의 평균선을 계산한다. 부린띠 진동수의 상단에서 그 평균선을 통과할 때, 트렌드가 변하기 시작한다고 생각하고, 더 많이 한다. 부린띠 진동수의 아래에서 그 평균선을 통과할 때, 트렌드가 변하기 시작한다고 생각하고, 공백을 한다.

포지션에 진입한 후, 전략은 모바일 스톱, 고정 스톱 및 모바일 추적 스톱을 사용하여 위험과 수익을 제어한다. 특정 매개 변수는 재검사 결과에 따라 최적화 될 수 있다.

전략적 이점

  1. 브린 벨트 진동기 지표를 사용하여 트렌드를 판단하십시오. 이 지표는 트렌드 변화에 상대적으로 민감합니다.

  2. 이동식 스톱은 트렌드가 다시 변할 때, 적시에 스톱을 할 수 있는 개별적 손실을 제어합니다.

  3. 고정 스톱을 사용하여 수익을 고정하면 트렌드 방향이 맞을 때 적시에 판매 할 수 있습니다.

  4. 모바일 트래킹 스톱로드 (Mobile Tracking Stop Loss) 를 사용하여 유리한 가격을 추적하여 단일 수익을 극대화 할 수 있습니다.

  5. 전략은 단순하고 직관적이며 이해하기 쉽고 실행이 쉽다.

전략적 위험

  1. 브린 벨트 진동기는 가짜 돌파구가 존재할 가능성이 있으며, 잘못된 신호를 발산할 수 있다.

  2. 모바일 스톱 또는 추적 스톱 설정이 부적절하면 조기 스톱 또는 스톱이 발생할 수 있습니다.

  3. 고정 스프링 설정이 잘못되면 너무 일찍 스프링을 중지할 수 있으며, 놓친 것이 더 위험하다.

  4. 브린 밴드 변수와 이동 평균선 변수는 최적화해야 하며, 그렇지 않으면 과일접합으로 이어질 수 있다.

  5. 이 철수에는 상당한 재정적 지원이 필요할 것입니다.

전략 최적화

  1. 브린 대역변수와 이동평균선 변수를 최적화하여 최적의 변수조합을 찾는다.

  2. ATR 중지, 퍼센트 중지 등과 같은 다양한 이동 중지 방법을 테스트하십시오.

  3. 고정 스톱 및 추적 스톱 패러미터를 테스트 및 최적화한다.

  4. 다른 필터링 조건을 추가하여 부린띠 진동기가 잘못된 신호를 발산하지 않도록하십시오.

  5. 포지션 관리를 최적화하여 다른 시장에 적합한 포지션 규모를 제공합니다.

  6. 다양한 품종과 시간 주기에서 이 전략을 사용하는 효과를 테스트한다.

요약하다

이 전략은 부린띠 진동기 지표를 이용하여 트렌드 방향을 판단하고, 트렌드가 변하기 시작하면 포지션에 들어가며, 이동식 스톱, 고정식 스톱 및 추적식 스톱을 이용하여 위험을 통제하고 수익을 얻는다. 전략은 비교적 단순하고 직관적이며 구현하기 쉽지만, 파라미터를 최적화해야 하며, 가짜 브레이크와 부적절한 스톱을 설정하는 것을 막는다. 이 전략은 최적화가 잘 된다면, 트렌드 상황에서 더 나은 효과를 얻을 수 있다.

전략 소스 코드
/*backtest
start: 2022-10-03 00:00:00
end: 2023-10-09 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="Strategy CCT Bollinger Band Oscillator", shorttitle="Hornkild", calc_on_order_fills=true, default_qty_type=strategy.percent_of_equity, default_qty_value=50, overlay=false)

length=input(65)
lengthMA=input(30)
src=close
cctbbo=100 * ( src + 2*stdev( src, length) - sma( src, length ) ) / ( 4 * stdev( src, length ) )

//ul=hline(100, color=gray, editable=true)
//ll=hline(0, color=gray)
//hline(50, color=gray)
//fill(ul,ll, color=blue)
//plot(cctbbo, color=blue, linewidth=2)
//plot(ema(cctbbo, lengthMA), color=red)

TP = input(0) * 10
SL = input(0) * 10
TS = input(1) * 10
TO = input(10) * 10
CQ = 100

TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na
TOP = (TO > 0) ? TO : na

longCondition = crossover(cctbbo, ema(cctbbo, lengthMA))
if (longCondition)
    strategy.entry("Long", strategy.long)


shortCondition = crossunder(cctbbo, ema(cctbbo, lengthMA))
if (shortCondition)
    strategy.entry("Short", strategy.short)

strategy.exit("Close Short", "Short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)
strategy.exit("Close Long", "Long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP, trail_offset=TOP)