내부 컨버전스 브레이크아웃 전략


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

내부 컨버전스 브레이크아웃 전략

개요

내부 수렴의 돌파 전략은 K선 형태를 기반으로 한 트렌드 추적 전략이다. 이 전략은 내부 수렴과 외부 확장의 K선 형태를 사용하여 트렌드를 판단하고 돌파점에서 장거리 포지션을 열는다.

전략 원칙

이 전략은 주로 다음과 같은 두 가지 K선 형태를 판단한다:

  1. 내부 수렴 K선: 이날 K선의 최고 가격은 어제 최고 가격보다 낮고 최저 가격은 어제 최저 가격보다 높으며, 범위를 수렴하고 있음을 나타냅니다.

  2. 외부 확장 K 라인: K 라인의 최고 가격은 어제의 최고 가격보다 높고, 최저 가격은 어제의 최저 가격보다 낮으며, 범위를 확장하고 있음을 나타냅니다.

위의 두 가지 형태를 판단할 때, 전략의 진입 신호로 간주한다. 진입 K선 다음 날, 개시 가격이 전날의 최고 가격보다 높으면 더 많이 한다. 개시 가격이 전날의 최저 가격에 있다면, 공백한다.

더 많은 공백을 후, 스톱 스톱 손실 지점을 설정합니다. 구체적인 스톱 스톱 손실 알고리즘은 다음과 같습니다:

스톱포인트= (현재 클로즈 가격 × 목표 클로즈 비율) / 최소 변동 가격

스톱포인트= (현재 클로즈 가격 × 스톱포인트 퍼센트) / 최소 변동 가격

이런 식으로, 우리는 정지명령과 정지명령을 내놓고, 수익을 올린 후에 시장에서 빠져나갈 수 있고, 감당할 수 있는 손실을 피할 수 있습니다.

우위 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 내부 수렴 외부 확장 K선 형태는 더 신뢰할 수 있으며, 트렌드 방향을 판단하는 성공률이 높다.

  2. 진입을 통해 판단의 확실성을 높여서 일부 허위 진입을 방지한다.

  3. 완전히 자동화 된 거래, 인적 개입이 필요하지 않아 운영 위험이 낮습니다.

위험 분석

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

  1. K선형 판단은 완전히 신뢰할 수 없으며, 잘못된 신호가 발생할 수 있다.

  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 )