Borland 밴드 추적 전략


생성 날짜: 2024-02-27 16:11:44 마지막으로 수정됨: 2024-02-27 16:11:44
복사: 0 클릭수: 593
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

Borland 밴드 추적 전략

개요

이 전략은 볼란드 파동대 지표를 사용하여, 트렌드 추적 트렌드 추적 트레이딩을 구현합니다. 가격이 상향 경로를 돌파 할 때 공백을 만들고, 가격이 하향 경로를 돌파 할 때 더 많은 것을 하고, 수익을 잠금하기 위해 중지 손실과 중지 가격을 설정합니다. 동시에, 이 전략은 선택 가능한 반전 입구 옵션을 제공 합니다. 즉, 가격이 파동대에 다시 들어올 때 반전 단자를 수행합니다.

전략 원칙

이 전략은 먼저 브린 벨트의 중간 궤도, 상단 궤도 및 하단 궤도를 계산한다. 중간 궤도는 Len의 길이가 되는 WMA 평균선이며, 상단 궤도 및 하단 궤도 거리는 표준 차이의 배수를 나타낸다.

가격이 위쪽 궤도를 통과할 때, 공백을 만들며, 가격이 아래쪽 궤도를 통과할 때, 더 많이 한다. 포지션을 개시한 후, 스톱로스와 스톱가격을 설정한다. 스톱로스는 입력된 스톱값이고, 스톱가스는 입력된 리밋값이다.

또한, 전략은 반전 입장을 개설하는 옵션을 제공합니다. Reversal Entry 을 후, 가격이 부린 영역으로 다시 들어가면 반전 입장을 수행합니다. MEAN REVERSION 거래 방식에 속합니다.

상향 상장 또는 역 상장, 중지 및 중지 설정은 동일합니다. 중지 및 중지 모두 두 가지 옵션, 고정 중지 또는 이동 중지 있습니다. 후자는 가격 변화에 따라 조정됩니다.

우위 분석

이 전략은 브린 대역 지표와 트래킹 스톱을 결합하여 위험을 효과적으로 제어하고 트렌드 수익을 고정시킬 수 있습니다. 포지션을 개회하는 방법은 스톱이 유발되는 가능성을 줄일 수 있습니다.

브린은 하향 궤도를 가지고 가격 돌파구를 명확하게 판단할 수 있으며, 파장 거래 방식은 이익과 손실 결과를 명확하게 만듭니다. 중지 손실을 추적하여 중지 손실 위치를 조정하여 수익을 막습니다.

위험 분석

부린띠 전략의 가장 큰 위험은 트렌드 역전이다. 상위 하락을 뚫은 후, 가격이 V형 역전으로 급격한 정지 손실을 초래할 수 있다. 여러 경우도 비슷하다.

반전 포지션 오픈 방식은 트렌드 연장 기회를 놓칠 수 있다. 가격이 다시 파동 영역으로 들어가면 반전 주문을 하면 수익이 줄어들 수 있다.

또한, 변수 설정이 잘못되면 위험도 증가한다. Len과 Deviation은 신중하게 설정해야 하며, 그렇지 않으면 손실의 위험이 증가한다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 매개 변수 자율 조정 기능이 추가되었다. Len과 Deviation은 시장의 변동에 따라 동적으로 조정할 수 있으며, 브린 띠를 가격에 더 가깝게 만든다.

  2. 포지션 개설 필터 조건을 추가한다. 거래량 급증, 거래금 수 증가 등의 추가 조건을 추가할 수 있다.

  3. 다른 지표들과 함께 신호를 필터링한다. 예를 들어 MACD, KDJ와 같은 지표는 경향성을 판단하고, 신호를 놓치지 않도록 한다.

  4. 시간 제한을 늘리십시오. 특정 시간 동안만 거래하면 야간 위험을 줄일 수 있습니다.

요약하다

이 볼란드 띠 추적 전략은, 부린 띠 지표를 사용하여 가격 돌파구를 판단한다. 스톱 스톱 손실을 설정하여 수익을 잠금하고, 트래킹 스톱 손실을 적용하여 위험을 조정한다. 전략은 간단하고 실용적이며, 시장 선택의 흐름에 따라 또는 반전 거래를 할 수 있다. 변수 최적화 및 조건 필터링을 통해 위험을 더 낮추어 더 안정적인 수익을 얻을 수 있다.

전략 소스 코드
/*backtest
start: 2024-02-19 00:00:00
end: 2024-02-26 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="BB Strategy (Basic)",overlay=true, initial_capital=25000, default_qty_value=1, commission_type=strategy.commission.cash_per_contract, commission_value=3.02)
len = input(20, minval=1, title="Length")
src = input(close, title="Source")
mult = input(2.0, "Deviation", minval=0.001, maxval=50)
//price_drop = input(.003, "When price drops (In Ticks) Enter Long", step=.001)
//price_climb = input(.003, "When price climbs (In Ticks) Enter Short", step=.001)
trail = input(true, "Trailing Stop(checked), Market stop(unchecked)")
stop = input(10000, "Stop (in ticks)", step=5)
limit = input(20000, "Limit Out", step=5)
//size = input(1, "Limit Position Size (pyramiding)", minval=1)
revt = input(true, "Reversal Entry(checked, Trend Entry(unchecked)")
timec = input(false, "Limit Time of Day (Buying Side)")

//calculations and plots
revti = if revt==false
    true
basis = wma(src, len)
dev = mult * stdev(src, len)
upper = basis + dev
lower = basis - dev
plot(basis, color=red)
p1 = plot(upper, color=teal)
p2 = plot(lower, color=teal)
fill(p1, p2)
u = crossover(high, upper) 
d = crossunder(low, lower)
//Time Session
sess = input("1600-0500", "Start/Stop trades (Est time)")
t = time(timeframe.period, sess)

//Orders
if(timec)
    strategy.entry("Enterlong", long=revt, when=d and t>1)
else
    strategy.entry("Enterlong", long=revt, when=d)
if(trail)
    strategy.exit("Exit","Enterlong", profit=limit, trail_points = 0, trail_offset = stop )
else
    strategy.exit("Exit","Enterlong", profit=limit, loss = stop )
    
if(timec)
    strategy.entry("Entershort", long=revti, when=u and t>1)
else
    strategy.entry("Entershort", long=revti, when=u)
if(trail)
    strategy.exit("Exit","Entershort", profit=limit, trail_points = 0, trail_offset = stop )
else
    strategy.exit("Exit","Entershort", profit=limit, loss = stop )