진동 반전 CAT 전략


생성 날짜: 2024-02-19 14:29:51 마지막으로 수정됨: 2024-02-19 14:29:51
복사: 2 클릭수: 698
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

진동 반전 CAT 전략

개요

흔들림 반전 CAT 전략은 기술 지표를 기반으로 한 정량 거래 전략이다. 이 전략은 MA, EMA와 같은 지표를 통해 시장의 추세와 지지 저항 위치를 판단하고, 사용자 정의 된 블랙 과 낮 지표와 결합하여 비정상적인 변동을 판단하여 낮은 가격과 높은 가격의 트렌드 거래 전략을 실현한다.

전략 원칙

흔들림 반전 CAT 전략의 핵심 논리는 MA, EMA와 같은 기술 지표들을 통해 전체적인 추세를 판단하고, 그 다음으로 사용자 정의 된 검은 천둥과 낮 천둥 지표들을 결합하여 비정상적인 변동 기회를 잡는 것이다. 구체적인 원칙은 다음과 같다:

  1. SMA, EMA 등의 지표를 사용하여 전체 트렌드 방향을 판단한다. 예를 들어 EMA144 위 EMA169을 넘기는 것은 낙점 신호로 간주하고, EMA144 아래 EMA169을 넘기는 것은 낙점 신호로 간주한다.

  2. 사용자 정의 검은 천둥 지표, 공식은 ((폐쇄 가격-폐쇄 가격) /폐쇄 가격 ᄂ. 그것은 특정 K 선의 비정상적인 변동의 정도를 반영한다. 검은 천둥 지표가 경계를 초과했을 때 (예: 0.0191) 그리고 폐쇄 가격이 오픈 가격보다 낮았을 때, 아래로 비정상적인 변동이 발생했음을 나타냅니다.

  3. 사용자 정의의 낮 지표는 검은 지표와 비슷하며, K선에서 이상적인 변동의 정도를 반영한다. 낮 지표가 경계를 초과하고, 동시에 종료 가격이 오픈 가격보다 높을 때, 상향의 이상적인 변동이 일어난다는 것을 나타냅니다. 이것은 다중 거래 기회이다.

  4. 비정상적인 변동 기회를 잡은 후, EMA와 같은 지표가 반전 신호를 발산할 때까지 포지션을 평정하고, 낮은 가격으로 구매하고 높은 가격으로 판매한다.

이 전략은 종합적으로 평균선을 사용하여 트렌드를 판단하고, 사용자 정의 지표로 특이점을 포착하여, 낮은 가격과 높은 가격의 반전 거래를 실현합니다.

우위 분석

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

  1. 특이한 변동을 포착하고, 높은 승률을 가지고 있다. 검은 천둥과 낮 천둥 지표는 가격의 특이한 변동을 효과적으로 포착할 수 있다. 이러한 변동은 종종 반전을 예고하고, 따라서 거래의 승률이 높다.

  2. 시장에 진입하고 진출하는 규칙을 정하고, 파동적 흐름을 피한다. 시장에 진입하고 진출하는 전략은 매우 명확하며, 거래자의 무작위적이고 감정적 인 작업을 피하는 데 도움이됩니다.

  3. 여러 가지 파라미터와 지표가 최적화 조정할 수 있습니다. MA와 EMA의 주기적 파라미터, 검은 천둥과 하얀 천둥의 파라미터 값 등이 최적화 조정으로 전략이 다른 품종과 거래 환경에 더 적합하도록 할 수 있습니다.

  4. 높은 주파수와 낮은 주파수 거래에 적합하다. 이 전략은 동시적으로 추세와 반향을 결합하고, 다른 시간 주기를 사용할 수 있도록 구성되어 있으며, 높은 주파수와 낮은 주파수 거래 시나리오에 적합하다.

  5. 위험 제어 수단은 비교적 완전하다. 전략은 거래 비율 방식으로 주문을 하고, 동시에 손해 청산 메커니즘이 있어 단편적 손실을 효과적으로 통제할 수 있다.

위험 분석

또한 CAT 전략의 역동적 역전에는 다음과 같은 위험도 있습니다.

  1. 매개 변수 최적화 위험. 검은 천둥과 밝은 천둥과 같은 매개 변수의 설정은 전략 효과에 중대한 영향을 미치며, 매개 변수가 잘못 설정되면 전략 수익률이 크게 감소할 수 있다.

  2. 철회 위험. 시장에서 더 긴 일방적인 추세가 나타났을 때, 이 전략은 일정량의 연속적인 손실과 더 큰 철수를 초래할 수 있다.

  3. 허위 돌파 위험. 현실에서는 종종 단기적인 허위 돌파가 발생하며, 너무 민감한 변수 설정으로 인해 불필요한 거래가 발생할 수 있습니다.

위와 같은 위험에는 다음과 같은 조치를 취할 수 있습니다.

  1. 매개 변수 최적화 메커니즘을 구축하고, 역사 데이터를 사용하여 엄격한 재검토 최적화를 수행하여 매개 변수 설정을 합리화하십시오.

  2. 손해 제도를 설정한다. 합리적인 손해 제도는 단편적 손해의 범위와 최대 인출을 효과적으로 통제한다.

  3. 매개 변수 감수성을 조정한다. 매개 변수 설정이 너무 민감하지 않도록, 특정 필터링 조건을 추가하고, 가짜 돌파구의 간섭을 피한다.

최적화 방향

진동 반전 CAT 전략은 또한 큰 최적화 공간을 가지고 있으며, 주요 최적화 방향은 다음과 같습니다:

  1. 검은 천둥과 흰 천둥 지표는 더 세밀하게, 다른 파라미터 조합을 설정하여 비정상적인 변동에 대한 식별을 더 정확하고 포괄적으로 할 수 있습니다.

  2. 기계 학습 알고리즘을 추가하고, 신경 네트워크 또는 통합 학습 방법을 사용하여 자동으로 매개 변수를 최적화하여 전략 매개 변수를 동적으로 조정하여 시장 변화에 더 잘 적응합니다.

  3. 딥러닝 기술을 활용하여 그래픽 형태를 인식하여 가격 역전 신호를 판단하고 전략 효과를 향상시킵니다.

  4. 모호한 논리 제어 파라미터의 감수성을 높이고, 트렌드가 분명할 때 파라미터의 안정성을 유지하며, 트렌드 전환점이 있을 때 파라미터의 감수성을 높인다.

  5. 무참여 유전 알고리즘, 모형 방화 알고리즘 등의 전체적인 최적화 방법을 결합하여, 다중 매개 변수의 전체적인 최적화를 달성한다.

  6. 거래 품종을 확장하고, 주식, 디지털 화폐와 같은 다른 품종을 추가하고, 시장 간 중매를 진행하십시오.

체계적인 모델 및 변수 최적화를 통해, 흔들림 반전 CAT 전략은 전략 Robustness를 더욱 강화하여 더 뛰어난 거래 효과를 얻을 수 있습니다.

요약하다

흔들림 반전CAT 전략은 상평선과 사용자 정의 지표를 통합하여 시장 반전의 양적 거래 전략을 효과적으로 식별합니다. 이 전략은 비정상적인 변동, 기본 입시 및 출시 규칙, 최적화 가능한 공간의 장점을 가지고 있으며, 매개 변수 및 모델 최적화를 통해 전략 효과를 더욱 강화 할 수 있습니다. 보호해야 할 매개 변수 최적화 위험, 철회 위험, 가짜 돌파 위험 등이 있습니다.

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

//@version=4


//适合1分钟-3分钟的k线,发生波动超过百分之二时,自动报警
strategy("BlackSwan strategy", overlay=true,
         initial_capital=10000, currency='USD', default_qty_type=strategy.percent_of_equity,
         default_qty_value=100, commission_type= strategy.commission.percent, commission_value=0.075,pyramiding=3)
//-------------------------------------------
//-------------------------------------------
timecondition =  timeframe.period =="480"  or timeframe.period =="240" or timeframe.period =="D"  or timeframe.period =="720"
// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
     defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
     defval=11, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
     defval=2018, minval=1800, maxval=2100)
endDate = input(title="End Date", type=input.integer,
     defval=1, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
     defval=11, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
     defval=2031, minval=1800, maxval=2100)
// Look if the close time of the current bar
// falls inside the date range
inDateRange = (time >= timestamp(syminfo.timezone, startYear,
         startMonth, startDate, 0, 0)) and
     (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))
     
     

// Inputs
a = input(1,     title = "Key Vaule. 'This changes the sensitivity'")
c = input(10,    title = "ATR Period")
h = input(false, title = "Signals from Heikin Ashi Candles")


ma60 = sma(close,60)
ema144 = ema(close,144)

ema169 = ema(close,169)
ma20=sma(close,20)

     
plot(ema144,color=color.yellow, title="144")
plot(ema169,color=color.orange, title="169")

    
heitiane=(close-open)
heitiane:=abs(heitiane)
heitiane:=heitiane/close

if (inDateRange and  heitiane >0.0191 and close<open) //  and close>f3
    strategy.entry("botsell20", strategy.short, comment = "黑天鹅追空"+tostring(heitiane))

if(crossover(ema144,ema169))
    strategy.close("botsell20", comment = "平空")
if (inDateRange and  heitiane >0.0191 and close>open) //  and close>f3
    strategy.entry("botbuy20", strategy.long, comment = "白天鹅追多"+tostring(heitiane))

if(crossunder(ema144,ema169))
    strategy.close("botbuy20", comment = "平多")