% 대역 이동 평균 전략

저자:차오장, 날짜: 2023-12-12 17:47:02
태그:

img

전반적인 설명

비율 대역 이동 평균 전략은 추세를 따르는 전략이다. 이동 평균을 기준으로 사용하여 가격의 비율에 따라 상위 대역과 하위 대역을 계산한다. 가격이 상위 대역을 넘을 때 짧고 가격이 하위 대역을 넘을 때 길다. 이 전략의 가장 큰 장점은 변동 범위를 자동으로 조정하고 다른 시장 환경에서 트렌드를 효과적으로 파악할 수 있다는 것이다.

전략 원칙

이 전략의 핵심 지표는 이동 평균이다. 중간 대역은 간단한 N일 이동 평균이다. 상단 대역과 하단 대역은 가격의 비율 변화에 따라 계산된다. 구체적인 공식은 다음과 같다:

상위 계층 = 중위 계층 + 가격 * 상위 계층 비율 하위 범주 = 중위 범주 - 가격 * 하위 범주 비율

이 경우 상단역 비율과 하단역 비율은 가격의 2%를 나타내는 2로 설정 가능한 매개 변수입니다.

가격 상승시 상단과 하단 둘 다 동시에 상향으로 팽창한다. 가격 하락시 두 대가 동시에 하향으로 수축한다. 이는 시장 변동 정도에 따라 채널 폭을 자동으로 조정하는 효과를 달성한다.

거래 전략의 경우, 가격이 상단 범위를 넘어서면 단위로, 가격이 하단 범위를 넘어서면 길게 이동합니다. 또한, 이 전략은 특정 달에서만 거래하는 조건을 설정하여 주요 트렌드 아닌 달에서 잘못된 신호를 생성하는 것을 피합니다.

이점 분석

이 전략의 가장 큰 장점은 변동 범위가 다른 시장 조건에 적응하도록 자동으로 조정 될 수있는 가격의 비율 변화에 따라 계산된다는 것입니다. 범위 제한 시장에서 잘못된 신호를 줄이고 트렌딩 시장에서 역전을 적시에 파악 할 수 있습니다. 또한 달 및 날짜 선택 조건을 설정하면 경위 개월의 잡음을 필터링하고 주요 트렌드 아닌 달에서 잘못된 신호를 생성하는 것을 피할 수 있습니다.

위험 분석

이 전략의 주요 위험은 이동 평균이 지연 효과를 가지고 있으며 긴급 상황에 즉각적으로 반응할 수 없다는 것입니다. 또한, 비율 범위의 설정은 전략 성능에도 영향을 미칠 것입니다. 너무 낮게 설정되면 이동 평균의 지연 문제를 악화시킬 것입니다. 너무 높게 설정되면 잘못된 신호의 확률을 증가시킬 것입니다.

또 다른 잠재적 위험은 날짜와 달 조건에 너무 의존하는 것입니다. 주요 트렌드가 설정된 달 밖에서 발생하면이 전략은 기회를 놓칠 것입니다. 따라서 이러한 미리 설정된 조건도 다른 제품과 시장 환경에 따라 조정해야합니다.

최적화 방향

이 전략의 최적화를 위해 여전히 많은 공간이 있다. 첫째, 최적의 매개 변수를 찾기 위해 이동평균의 길이, 비율 매개 변수 등과 같은 다양한 매개 변수 조합을 테스트할 수 있다. 둘째, 신호 신뢰성을 향상시키기 위해 볼륨과 같은 이동평균 신호를 확인하기 위해 다른 지표를 도입할 수 있다. 마지막으로, 날짜와 달 선택 조건도 다른 제품과 시장 환경을 기반으로 조정하여 보다 유연하게 만들 수 있다.

예를 들어, 주요 트렌드 달은 역사적 데이터에 기초하여 판단 할 수 있으며, 그 다음 임계값은 자동으로 계산 될 수 있습니다. 비정상적인 돌파구가있을 때, 달 조건은 일시적으로 무시되어 완전히 참여할 수 있습니다. 기계 학습 및 이러한 매개 변수를 동적으로 최적화하는 다른 방법을 도입하는 것도 가능합니다.

요약

일반적으로 퍼센트 뱅드 이동 평균 전략은 트렌드를 따르는 전략으로 매우 실용적입니다. 가장 큰 장점은 변동 범위를 자동으로 조정하고 시장 변화에 적응하는 능력입니다. 동시에 매개 변수 최적화, 신호 필터링 등 개선의 여지가 있습니다. 올바르게 사용하면 다양한 시장 환경에서 꾸준히 이익을 얻을 수 있습니다.


/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy(title = "Percentage Band", overlay = true)


//////////////// BAND  ////////////////////////////
price=close
bandlength = input(50)
bbupmult =input(2,step=0.1,title="Multiplier for Percent upper Band")
bblowmult = input(2,step=0.1,title="Multiplier for Percent Lower  Band")

basis =  sma(close,bandlength)

devup =  (bbupmult*price)/100
devlow = (bblowmult*price)/100

upper = basis + devup
lower = basis - devlow
plot(basis, color=red)
p1 = plot(upper, color=blue)
p2 = plot(lower, color=blue)
fill(p1, p2)



/////////////////////////BAND  //////////////////////////


// Conditions



longCond = na
sellCond = na
longCond :=  crossover(price,lower)
sellCond :=  crossunder(price,upper)




monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if (  longCond  ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( sellCond   ) 

    strategy.close("BUY")







더 많은