내부 술집 탈출 전략

저자:차오장, 날짜: 2024-02-26 12:16:52
태그:

img

전반적인 설명

인더 바 브레이크아웃 전략은 촛불 패턴에 기반한 트렌드를 따르는 전략이다. 트렌드 방향을 결정하고 브레이크아웃에 대해 포지션을 입력하기 위해 인더 바와 외부 바 촛불 패턴을 사용합니다.

전략 논리

이 전략의 주된 논리는 두 종류의 촛불 패턴을 식별하는 것입니다.

  1. 내부 바: 현재 바의 최고가 이전 최고보다 낮고 최저가 이전 최저보다 높으면 가격 수축을 나타냅니다.

  2. 바 밖: 현재 바의 최고가 이전 최고보다 높고 최저가 이전 최저보다 낮을 때, 그것은 가격 확장을 나타냅니다.

양쪽 패턴이 확인되면 잠재적인 진입을 신호합니다. 신호 바 다음 바에서 오픈 가격이 이전 최고치 이상으로 떨어지면, 길게 이동합니다. 오픈 가격이 이전 최저치 이하로 떨어지면, 짧게 이동합니다.

입력 후, 수익을 취하고 손실을 중지 할 수 있습니다. 특정 알고리즘은:

영업이익 = (현행 폐쇄 가격 x 목표 영업이익 비율) / 최소 가격 표시 스톱 로스 = (현행 클로즈 가격 x 스톱 로스 비율) / 최소 가격 틱

이렇게 함으로써 스톱 로스를 누르면 최대 허용 금액 이하의 손실을 제한하고 스톱 로스를 누르면 이익을 확보할 수 있습니다.

이점 분석

이 전략의 장점은 다음과 같습니다.

  1. 내부와 외부 바 패턴은 트렌드 방향을 결정하는 데 매우 신뢰할 수 있습니다.

  2. 유출 출입은 확실성을 높이고 일부 거짓 유출을 방지합니다.

  3. 수동 개입 없이 완전히 자동화되어 운영 위험을 줄여줍니다.

위험 분석

이 전략에는 몇 가지 위험이 있습니다.

  1. 촛불 패턴 식별은 항상 정확하지 않습니다. 잘못된 신호의 가능성이 있습니다.

  2. 침투하면 포착될 가능성이 높습니다. 스톱 손실은 조정될 수 있습니다.

  3. 부적절한 매개 변수 설정으로 인해 손실이 증가할 수 있습니다.

개선 할 수 있는 분야

전략을 개선 할 수있는 몇 가지 방법은 다음과 같습니다.

  1. 가짜 신호를 줄이기 위해 필터를 추가합니다. 예를 들어 볼륨 필터.

  2. 동적 수익 및 스톱 손실 알고리즘 최적화

  3. 반역 스톱 손실을 포함합니다.

  4. 기계 학습을 이용해서 자동으로 매개 변수를 최적화합니다.

결론

인더 바 브레이크아웃 전략은 전반적으로 신뢰할 수 있고 쉽게 구현할 수 있는 트렌드 추적 방법이다. 인더 바와 외부 패턴의 예측 능력을 활용하여 브레이크아웃 엔트리의 높은 확실성과 결합합니다. 간단한 직선적인 논리로 알고리즘 거래에서 초보자 친화적입니다. 최적화 및 자동화의 추가 향상으로 더 안정적이고 지능적인 거래 결과가 발생합니다.


/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("inside bar strategy  Wıth SL-TP ", overlay=true )



insides = high < high[1] and low > low[1]
outsides = high > high[1] and low < low[1]

candle_control=insides or outsides


target_profit_percent=input(3,"target profit%",step=0.1)
stop_loss_percent=input(1,"stop loss %",step=0.1)



yearfrom = input(2021)
yearuntil =input(2022)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)


long_cond=candle_control[1] and close>open and high>high[1]
short_cond=candle_control[1] and close<open and low<low[1]



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


if (  short_cond ) 

    strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND", comment="SHORT")
else
    strategy.cancel(id="SHORT")
    
    
    
    
profit_target=(close*(target_profit_percent/100))/syminfo.mintick
stop_target=(close*(stop_loss_percent/100))/syminfo.mintick


strategy.exit("LONG EXIT","LONG",profit=profit_target, loss=stop_target ) 
    
strategy.exit("LONG EXIT","SHORT",profit=profit_target, loss=stop_target ) 


더 많은