버퍼드 볼린저 밴드 볼륨 오실레이터 이동 평균 거래 전략


생성 날짜: 2024-01-05 12:27:02 마지막으로 수정됨: 2024-01-05 12:27:02
복사: 1 클릭수: 566
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

버퍼드 볼린저 밴드 볼륨 오실레이터 이동 평균 거래 전략

개요

이 전략은 부린띠 지표와 흔들림 이동 평균 지표에 기반하여 가격 통로를 구성하여 통로의 상하 경계선을 뚫고 거래 신호를 발산합니다. 부린띠의 자기 적응성과 흔들림 지표의 유연성을 결합하여 시장 추세 변화를 적시에 잡을 수 있습니다.

전략 원칙

이 전략은 부린 반지중 궤도와 흔들림 이동 평균을 사용하여 가격 통로를 구축한다. 중간 궤도는 21 회의 부린 중간 궤도를 채택하고, 상단 궤도와 하단 궤도는 각각 상향과 하향으로 1 퍼센트의 범위를 확장한다. 흔들림 이동 평균은 중간 궤도를 기반으로 하며, 과매도 영역을 초과할 때 뻗어 나거나 수축한다. 가격이 상단 궤도를 돌파 할 때 더 많이하고, 가격이 하단 궤도를 돌파 할 때 공백을 만든다.

구체적으로, 브린의 중궤도 계산 공식은 다음과 같다:

中轨 = N日收盘价的移动平均线 

위와 아래의 수식은 다음과 같다.

上轨 = 中轨 + WidthDev * 布林带N日标准差  
下轨 = 中轨 - WidthDev * 布林带N日标准差  

WidthDev는 위쪽과 아래쪽의 비율을 나타냅니다.

흔들리는 이동 평균은 중간 궤도에 기초하여, 특정 규칙에 따라 뻗어나가거나 수축한다. 시장이 과매매 또는 과매매 상태에 들어갈 때, 그것은 중간 궤도에서 더 멀리 뻗어 나가서 더 많은 코카이 기회를 확대한다. 시장이 평온할 때, 그것은 중간 궤도로 수축한다.

종합적으로, 이 전략은 부린띠를 통해 가격 통로를 그리고, 다시 흔들리는 이동 평균 지표를 사용하여 진입 시기를 판단하여, 브레이크 거래를 실현합니다. 가격이 아래에서 위쪽으로 부린 상도를 돌파 할 때 더 많이하고; 가격이 위에서 아래로 부린 하도를 돌파 할 때 공백합니다.

우위 분석

  1. 시장의 변동성을 반영합니다. 브린 띠는 시장의 변동성과 변화하는 추세를 실시간으로 반영할 수 있으며, 오르락 내리락은 변동률의 변화에 따라 자율적으로 조정된다.

  2. 가짜 신호를 줄여라 흔들림 이동 평균 지표는 의 연장 효과를 통해 부린 밴드에서 생성되는 가짜 신호를 효과적으로 줄일 수 있습니다. 그것은 부린 밴드 통로의 폭을 늘리고 지주 시간을 연장하여 더 많은 수익을 얻습니다.

  3. 트렌드 전환을 잡는 데에 브린의 상향 하향 및 흔들림 이동 평균의 교차는 거래 신호를 발송하는 데 시간과 가격 이점을 제공하며, 이는 시장의 추세 반전을 적시에 파악하기 위해 중요한 다중 및 공수 조정을 효과적으로 포착 할 수 있습니다.

위험 분석

  1. 브린 대역 변수 설정 브린띠의 매개 변수들, 예를 들어 계산주기 및 표준차이배수 등의 설정이 잘못되면, 상하의 궤도 간격이 너무 크고 너무 작아지며, 많은 가짜 신호를 생성하여 전략의 안정성에 영향을 준다.

  2. 지진이 너무 강했습니다. 흔들림 이동 평균의 흔들림 크기가 너무 커지면, 스톱포인트가 너무 멀리 떨어져 손실 위험이 증가한다.

  3. [시간이 늦어지자] 시장이 흔들리거나 명확한 추세가 없을 때, 브린 밴드 및 흔들리는 이동 평균 지표가 내리는 거래 신호는 지연되어 가격 변화를 적시에 반영하지 못할 수 있으며, 이는 적시에 반전의 위험을 초래할 수 있습니다.

최적화 방향

  1. 브린 밴드 변수를 최적화
    다른 주기 파라미터를 테스트할 수 있으며, 표준차의 배수를 선택하여 신호 횟수를 최적화하고 거짓 신호를 적게 생성하는 파라미터 조합을 선택할 수 있다.

  2. 이동 평균 변수를 최적화 다양한 진동폭과 진동주기를 테스트할 수 있으며, 트렌드를 포착하고 신호 지연을 줄일 수 있는 매개 변수를 선택할 수 있다.

  3. 필터링 조건을 추가 브린 띠와 흔들림 이동 평균의 교차 신호를 기반으로, 거래량과 같은 보조 지표의 필터를 추가하여, 일부 비효율적인 거래 신호를 배제할 수 있다.

  4. 전략 포트폴리오 이 전략은 다른 추적 중지 전략이나 기계 학습 전략의 조합과 함께 사용할 수 있으며, 위험을 더욱 통제하고 안정성을 향상시킵니다.

요약하다

이 전략은 브린 벨트 적응 통로와 흔들림 이동 평균 지표에 기반하여 트렌드 추적과 트렌드 반전 캡처의 유기적 결합을 구현합니다. 이 전략은 두 가지 지표의 장점을 결합하여 시장의 변동성을 고려하고 거래 신호의 유연성을 고려하여 안정적이고 효율적인 브레이크 거래를 수행합니다. 물론, 매개 변수 최적화 및 위험 제어도 특히 중요합니다.

전략 소스 코드
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//                               Hull Cloud v2 by SEASIDE420
strategy("Hull Moving Average Cloud v2", shorttitle="hull_cloud_v2", overlay=true, commission_type=strategy.commission.percent, commission_value=0.075, default_qty_type=strategy.percent_of_equity, max_bars_back=200, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
hullperiod=input(title="HullMA Period",defval=210, minval=1)
Width=input(title="Cloud Width",defval=200, minval=2)
price=input(ohlc4,title="Price data")
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) 
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) 
FromYear = input(defval = 2017, title = "From Year", minval = 2017) 
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) 
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) 
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) 
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) 
window() => true
n2ma=2*wma(price,round(hullperiod/2))
nma=wma(price,hullperiod)
diff=n2ma-nma
sqn=round(sqrt(hullperiod))
n2ma1=2*wma(price[1],round(hullperiod/2))
nma1=wma(price[1],hullperiod)
diff1=n2ma1-nma1
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
Hull_Line=n1-n1[1]/n2[1]
Hull_retracted=if(n1>n2)
    Hull_retracted=Hull_Line-Width
else
    Hull_retracted=Hull_Line+Width
c1=(Hull_retracted*n1)/price[1] 
c2=(Hull_retracted*n2)/price[1]
c4=c1>c2?green:red
c2p=plot(c2, color=black, linewidth=1)
c3p=plot(price, color=black, linewidth=1)
fill(c3p, c2p, color=c4, transp=75)
plot(cross(c1, c2) ? c1 : na, style = circles,color=c4, linewidth = 4) 
if (price<c2)
    strategy.close("BUY", when=window())
if (price>c2)                       
    strategy.close("SELL", when=window())
if (price[1]>c2 and price[1]>c1)             
    strategy.entry("BUY",strategy.long, when=window())
if (price[1]<c1 and price[1]<c2)            
    strategy.entry("SELL",strategy.short, when=window())//           /L'-, 
//                               ,'-.      `   ````                 /  L '-, 
//     .                    _,--dMMMM\        `   ` ` '`..         /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `     ,<>          /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\          ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//                                                                                  :D