쌍레일 브레이크 전략은 오프닝 가격과 전날의 변동폭을 바탕으로 오프닝을 하향으로 설정하여 오프닝을 더하고 하향을 공백으로 설정합니다. 이 전략은 브레이크가 형성되는 트렌드 거래 기회를 포착합니다.
가장 가까운 N 근 K 선의 최고값HH와 최저값LL을 계산한다.
하루 전의 최고 폐장 가격 HC와 최저 폐장 가격 LC를 계산한다.
전날의 변동폭은 HH-LC와 HC-LL에서 큰 값이다.
오프라인 바이라인 (BuyLine) 에 오픈 가격에 k1을 더합니다.*Range。
하단선 SellLine의 개시 가격 k2 빼기*Range。
종결 가격 위쪽에서 궤도를 밟았을 때 더 많이 하라. 종결 가격 아래쪽에서 궤도를 밟았을 때 공백을 하라.
이 전략의 주요 장점은:
오픈 가격 근처에서 트렌드 브레이크가 형성되는 트렌드 거래 기회를 잡습니다.
위아래 궤도는 역사적인 파동에 기초한 자동 설정으로 주관적인 것을 피한다.
k값은 다양한 품종에 맞게 조정할 수 있다.
파격 형태는 명확하고, 신호 품질은 높다.
유연하게 포지션 주기를 설정하여 다양한 수준의 트렌드를 잡을 수 있습니다.
이 전략의 주요 위험은:
오프라인에서 오프라인으로 이동할 수 없는 경우, 오프라인에서 오프라인으로 이동할 수 없는 경우
돌파는 가짜 돌파일 수 있으며, 스톱 손실을 설정해야 한다.
고정 보유 기간은 동적으로 대응할 수 없습니다.
회귀주기가 짧고, 곡접접합이 있을 수 있다.
이중 거래가 더 어려워질 수 있습니다.
대응방법:
k값 변수를 최적화하여 데이터 재검토 범위를 확장한다.
합리적인 스톱 로즈 포지션을 설정하여 단독 손실을 제어하십시오.
트렌드 판단을 높이고 역대 거래를 피하십시오.
지주 기간을 그 날까지 줄이는 것을 고려하십시오.
실물 검증, 단계적으로 입지를 확장한다.
이 전략은 다음과 같은 몇 가지 최적화를 고려할 수 있습니다.
동적으로 조정된 상하철 파라미터 k값。
거래량과 같은 지표와 결합하여 브레이크 신호를 확인합니다.
이동성 손실보호 수익을 높여주세요.
포지션 개척자 수를 조정하기 위한 포지션 개척자 수를 평가한다.
트렌드와 범위를 구분하고, 전략적으로 분해한다.
이중 레일 돌파 전략은 개장 가격 근처의 트렌드 거래 기회를 잡을 수 있다. 그러나, 그것의 파라미터를 설정하고 포지션 보유 시간을 최적화 할 수 있는 공간이 더 넓고, 위험 제어를 충분히 고려할 필요가 있다. 실적 시에는 보수적인 파라미터를 시작하여, 순차적으로 포지션을 확장하는 것이 좋습니다.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Dual Thrust Strategy",overlay=true,initial_capital=1000)
k1=input(0.67,type=float,step=0.01)
k2=input(0.62,type=float,step=0.01)
TimeFrame=input('240')
len=input(20)
HH=security(syminfo.tickerid,TimeFrame,highest(high,len),barmerge.lookahead_off)
LC=security(syminfo.tickerid,TimeFrame,lowest(close,len),barmerge.lookahead_off)
HC=security(syminfo.tickerid,TimeFrame,highest(close,len),barmerge.lookahead_off)
LL=security(syminfo.tickerid,TimeFrame,lowest(low,len),barmerge.lookahead_off)
Range=max(HH-LC,HC-LL)
BuyLine=security(syminfo.tickerid,"D",open,barmerge.lookahead_off)+k1*Range
SellLine=security(syminfo.tickerid,"D",open,barmerge.lookahead_off)-k2*Range
plot(BuyLine,color=blue,linewidth=2,offset=1,transp=70)
plot(SellLine,color=red,linewidth=2,offset=1,transp=70)
LongCondition=crossover(close,BuyLine)
ShortCondition=crossunder(close,SellLine)
strategy.entry("enter long",true,1,when=LongCondition)
strategy.entry("enter short",false,1,when=ShortCondition)
plotshape(LongCondition and strategy.position_size<0?low:na,style=shape.labelup,location=location.absolute,color=blue,text="Long",textcolor=white,size=size.small)
plotshape(ShortCondition and strategy.position_size>0?high:na,style=shape.labeldown,location=location.absolute,color=red,text="Short",textcolor=white,size=size.small)
alertcondition(LongCondition and strategy.position_size<0,title='Long_DT')
alertcondition(ShortCondition and strategy.position_size>0,title='Short_DT')