반전 변동 CAT 전략은 기술 지표에 기반한 양적 거래 전략입니다. 이 전략은 MA, EMA 및 기타 지표를 통해 시장 트렌드와 지원/저항 위치를 판단하고, 비정상적인 변동을 결정하기 위해 사용자 지정 블랙 스완 및 화이트 스완 지표를 결합하여 낮은 가격으로 구매하고 높은 가격으로 판매하는 트렌드 거래 전략을 구현합니다.
반전 변동 CAT 전략의 핵심 논리는 MA 및 EMA와 같은 기술적 지표를 통해 전반적인 추세를 판단하고 사용자 지정 블랙 스완 및 화이트 스완 지표를 사용하여 비정상적인 변동의 기회를 포착하는 것입니다. 구체적인 원칙은 다음과 같습니다.
전체 트렌드 방향을 결정하기 위해 SMA와 EMA와 같은 지표를 사용하십시오. 예를 들어, EMA144가 EMA169보다 높을 때 상승 신호로 간주되며, EMA144가 EMA169보다 낮을 때 하락 신호로 간주됩니다.
사용자 지정 블랙 스완 인디케이터는 (폐소 - 오픈) / 클로즈로 정의됩니다. 그것은 촛불의 비정상적인 변동의 정도를 반영합니다. 블랙 스완 인디케이터가 임계 (예를 들어 0.0191) 를 초과하고 닫는 것이 개방보다 낮을 때, 그것은 단축 기회를 제시하는 하향적 비정상적인 변동을 나타냅니다.
흰색 백조 지표는 검은색 백조 지표와 유사하며, 또한 촛불의 비정상적인 변동 정도를 반영합니다. 흰색 백조 지표가 문턱을 초과하고 닫기가 개방보다 높을 때, 그것은 갈망의 기회를 제시하는 상향 비정상적인 변동을 나타냅니다.
비정상적인 변동의 기회를 잡은 후, EMA와 같은 지표의 반전 신호를 기다립니다.
이 전략은 트렌드를 결정하기 위해 이동 평균과 변칙을 포착하기 위해 사용자 지정 지표를 사용하여 전형적인 반전 거래 양적 전략을 구현합니다.
반전 변동 CAT 전략은 다음과 같은 장점을 가지고 있습니다.
비교적 높은 승률으로 비정상적인 변동을 포착합니다. 검은 백조와 흰 백조 지표는 비정상적인 가격 변동을 효과적으로 포착 할 수 있습니다. 이러한 변동은 종종 반전을 의미하므로 거래 승률이 높습니다.
명확 한 진입 및 출입 규칙은 트렌드를 맹목적으로 따르지 않도록 한다. 이 전략의 진입 및 출입 기준은 매우 명확하며, 이는 거래자들에 의한 무작위적이고 정서적 인 동작을 피하는 데 도움이됩니다.
최적화 및 조정을위한 여러 매개 변수 및 지표. MA 및 EMA의 사이클 매개 변수, 블랙 스완 및 화이트 스완 지표의 임계 매개 변수 등을 최적화하고 조정하여 전략이 다른 제품과 거래 환경에 더 잘 적응 할 수 있습니다.
고 주파수 및 저 주파수 거래에 적용됩니다. 이 전략은 트렌드 및 역전을 결합하며, 고 주파수 및 저 주파수 거래 시나리오에서 사용을위한 다른 시간 주기에 구성 될 수 있습니다.
상대적으로 완전한 위험 통제 조치. 전략은 주문 배치에 대한 자본의 비율을 채택하고 단일 거래 손실을 효과적으로 제어하기 위해 스톱 손실 메커니즘을 가지고 있습니다.
반전 변동 CAT 전략은 또한 몇 가지 위험을 가지고 있습니다. 주로:
매개 변수 최적화 위험. 블랙 스완과 화이트 스완과 같은 매개 변수 설정은 전략 성능에 큰 영향을 미칩니다. 매개 변수가 잘못 설정되면 전략의 수익성이 크게 감소합니다.
마감 위험: 시장이 더 긴 일방적인 경향을 보이는 경우, 이 전략은 특정 연속 손실과 더 큰 마감을 초래할 수 있습니다.
가짜 브레이크 위험. 가짜 브레이크는 종종 현실에서 단기적으로 나타납니다. 매개 변수가 너무 민감하면 불필요한 거래가 너무 많을 수 있습니다.
위 위험에 대응하여 다음의 조치를 취할 수 있습니다.
매개 변수 최적화 메커니즘을 구축하고, 합리적인 매개 변수 설정을 보장하기 위해 엄격한 백테스팅과 최적화를 위해 역사 데이터를 사용합니다.
스톱 로스 메커니즘을 설정하십시오. 합리적인 스톱 로스는 단일 거래 손실과 최대 드라운드를 효과적으로 제어 할 수 있습니다.
매개 변수 감수성 조절. 거짓 파업 간섭을 피하기 위해 특정 필터 조건 추가로 너무 민감한 매개 변수 설정을 피하십시오.
반전 변동 CAT 전략 또한 최적화 할 수있는 큰 공간을 가지고 있습니다. 주요 최적화 방향은 다음과 같습니다.
다른 매개 변수 조합을 설정하여 더 정확하고 포괄적으로 비정상적인 변동을 식별하여 흑백 백조 지표를 더 정밀하게 조정합니다.
머신러닝 알고리즘을 늘리고, 신경망이나 앙상블러닝 방법을 사용하여 매개 변수 구성을 자동으로 최적화하여 전략 매개 변수가 시장 변화에 더 잘 적응하도록 동적으로 조정합니다.
딥러닝 기술을 사용하여 차트 패턴을 식별하여 가격 반전 신호를 판단하고 전략 성과를 향상시킵니다.
매개 변수 감수성에 대한 흐릿한 논리 컨트롤을 추가하고, 트렌드가 명백할 때 매개 변수를 일정하게 유지하고, 트렌드가 역전될 때 변수 감수성을 전환점에서 증가시킵니다.
전체적인 멀티 파라미터 최적화를 달성하기 위해 매개 변수 없는 유전자 알고리즘과 시뮬레이션 된 응고와 같은 글로벌 최적화 방법을 결합합니다.
거래 종류를 확장하고, 시장 간 중재를 위해 주식과 암호화폐와 같은 다른 종류를 늘려라.
체계적인 모델 및 매개 변수 최적화를 통해 역변화 CAT 전략의 안정성을 더욱 강화하여 우수한 거래 결과를 얻을 수 있습니다.
반전 변동 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 = "平多")