The SATS Algorithm
- Experts
-
Saiful Izham Bin Hassan
혼란이 명확함으로 대체된 시장을 상상해 보세요.
트레이딩에서 승자와 패자의 차이는 단순한 신호가 아니라 그 뒤에 있는 로직의 회복력이라는 점을 눈치채셨을 것입니다. 제 이름은 Syafiza이며, 저는 다른 시스템들이 실패하는 곳에서도 살아남도록 설계된 기관 수준의 트레이딩 시스템을 구축하는 것을 전문으로 합니다. - 버전: 1.0
- 활성화: 20
SATS 알고리즘은 MetaTrader 5 플랫폼용으로 구축된 매우 정교한 알고리즘 트레이딩 엔진입니다. SATS는 SuperTrend Adaptive Trading System의 약자입니다. 정적 매개변수와 경직된 로직에 의존하는 기존의 자동 매매 시스템과 달리, 이 시스템은 변화하는 시장 환경에 동적으로 적응하도록 설계되었습니다. 이 알고리즘의 핵심 철학은 자본 보존, 엄격한 위험 관리, 유해한 트레이딩 방법론의 회피에 전적으로 초점을 맞추고 있습니다.
이 시스템은 그리드 트레이딩, 마틴게일 스케일링, 차익 거래 기법을 사용하지 않습니다. 시스템이 시작한 모든 실행은 하드 스탑로스와 사전 정의된 테이크프로핏 레벨로 보호됩니다. 아키텍처는 갑작스러운 변동성 급등, 브로커 실행 지연, 예측 불가능한 거시경제 이벤트를 포함한 현대 시장의 복잡성을 처리하도록 설계되었습니다.
SATS 알고리즘 개발은 자동 매매의 일반적인 실패 지점을 해결하는 데 중점을 두었습니다. 다층 방어 메커니즘, 고급 통계적 포지션 사이징 모델, 거래량 기반 추세 검증을 통합함으로써, 시스템은 단일 차트 인스턴스에서 여러 상품의 포트폴리오를 동시에 관리할 수 있는 완전하고 자급자족형 트레이딩 모듈로 작동합니다.
핵심 트레이딩 전략: 적응형 SuperTrend
진입 로직의 기반은 기존 SuperTrend 지표의 고급 버전 위에 구축되었습니다. 그러나 SATS 알고리즘은 고정된 승수와 기간을 사용하는 대신 적응형 보정 모듈을 활용합니다. 이 모듈은 최근 과거 가격 움직임을 지속적으로 분석하고 내부 기준 매개변수를 현재 시장 리듬에 맞게 조정합니다.
시장이 저변동성 횡보 국면에 진입하면 시스템은 매개변수를 강화하여 잘못된 돌파 신호를 줄입니다. 반대로 시장이 고변동성 추세 국면으로 전환되면 시스템은 매개변수를 확장하여 표준 시장 노이즈에 의해 조기에 스탑되지 않고 더 큰 가격 변동을 포착합니다. 이 지속적인 보정은 핵심 진입 로직이 다양한 거래 세션과 시장 주기에서도 관련성을 유지하도록 보장합니다.
추세 검증: 추세 품질 지수(Trend Quality Index)
표준 추세 추종 시스템의 주요 취약점은 진짜 추세와 낮은 유동성에 의해 발생하는 거짓 돌파를 구별하지 못하는 것입니다. 이에 대응하기 위해 SATS 알고리즘은 추세 품질 지수를 도입합니다. 이 독점 내부 지표는 여러 근본적인 시장 요인을 평가하여 현재 추세를 0에서 100까지의 척도로 등급을 매깁니다.
추세 품질 지수는 거래량 델타를 분석하여 주요 구조적 레벨에서 매수 압력과 매도 압력의 강도를 비교합니다. 또한 누적 거래량 다이버전스를 측정하여 가격 움직임이 알고리즘적 스푸핑이 아닌 실제 시장 참여에 의해 뒷받침되는지 확인합니다.
SuperTrend 모듈이 거래를 승인하기 전에 추세 품질 지수는 설정을 평가해야 합니다. 종합 점수가 사용자 정의 최소 임계값 아래로 떨어지면 시스템은 시장을 저품질로 분류하고 트레이딩 신호를 억제합니다. 이 필터는 최적이 아닌 시장 조건에서 이루어지는 거래 빈도를 극적으로 줄여 높은 확률의 설정을 위해 자본을 보존합니다.
고급 자금 관리 시스템
SATS 알고리즘은 일반적으로 기관 퀀트 데스크에서 사용되는 통계적 자금 관리 모델을 통합합니다. 이러한 시스템은 파산 위험을 엄격히 통제하면서 장기적 성장을 위해 포지션 사이징이 수학적으로 최적화되도록 보장합니다.
변동성 조정 로트 사이징
표준 트레이딩 시스템은 현재 시장 환경과 관계없이 거래당 계좌 잔고의 고정 비율을 위험에 노출시키는 경우가 많습니다. SATS 알고리즘은 거래 자산의 현재 평균 진폭(ATR)에 기반하여 로트 크기를 동적으로 조정할 수 있습니다. 시장 변동성이 비정상적으로 높을 때 시스템은 거래당 일관된 금전적 위험을 유지하기 위해 로트 크기를 자동으로 줄입니다. 변동성이 낮을 때는 시스템은 비례적으로 로트 크기를 증가시킵니다. 이는 모든 거래에 걸쳐 위험 프로필을 정규화합니다.
켈리 기준(Kelly Criterion)
수학적으로 최적화된 복리를 추구하는 사용자를 위해 시스템은 선택적 분수 켈리 사이징 모듈을 포함합니다. 알고리즘은 자신의 과거 승률과 손익 비율을 지속적으로 추적합니다. 이 통계를 사용하여 장기 기하학적 성장률을 극대화하기 위해 다음 거래에서 위험에 노출할 최적의 자본 비율을 계산합니다. 안전을 보장하기 위해 시스템은 켈리 공식의 매우 분수화된 버전을 사용하여 불가피한 통계적 하락 기간 동안 과도한 레버리지를 방지합니다.
포괄적인 위험 관리
계좌의 기본 잔고를 보호하는 것은 SATS 알고리즘의 최우선 과제입니다. 시스템에는 표준 스탑로스 메커니즘과 완전히 독립적으로 작동하는 포괄적인 자산 보호기(Equity Protector) 모듈이 포함되어 있습니다.
사용자는 총 계좌 자산의 백분율로 엄격한 최대 일일 손실 한도를 정의할 수 있습니다. 현재 거래일의 변동 손실 또는 실현 손실이 이 한도에 도달하면 시스템은 모든 미결제 포지션을 즉시 청산하고 모든 대기 주문을 취소하며 다음 거래일이 시작될 때까지 거래 작업을 완전히 중단합니다.
또한 시스템에는 절대 최대 하락 한도가 있습니다. 계좌 자산이 기록된 최고점에서 이 중요 임계값 아래로 떨어지면 알고리즘은 추가 자본 고갈을 방지하기 위해 전체 시스템 잠금을 실행합니다.
브로커 방어 아키텍처
실제 거래 환경은 과거 백테스팅에 존재하지 않는 문제를 종종 제시합니다. 스프레드 확대, 실행 지연, 브로커 측의 증거금 조정은 알고리즘 성능에 심각한 영향을 미칠 수 있습니다. SATS 알고리즘은 이러한 위험을 완화하기 위해 여러 방어 계층을 갖추고 있습니다.
스텔스 모드(Stealth Mode)
활성화되면 스텔스 모드는 실제 스탑로스 및 테이크프로핏 레벨을 브로커 서버로부터 완전히 숨깁니다. 시스템은 스탑이 첨부되지 않은 상태로 거래를 열고 종료 로직을 로컬 터미널에서 완전히 관리합니다. 시장 가격이 가상 스탑 레벨을 교차하면 시스템은 즉시 포지션을 청산하기 위한 시장가 실행을 전송합니다. 이는 악의적인 스탑 헌팅 관행을 방지합니다.
핑(Ping) 및 지연 시간 보호
알고리즘 실행은 거래 서버에 대한 낮은 지연 시간 연결을 요구합니다. 핑 가드는 연결 속도를 밀리초 단위로 지속적으로 모니터링합니다. 서버 지연 시간이 사용자 정의 최대 한도를 초과하면 시스템은 심각한 슬리피지를 방지하기 위해 새로운 진입을 일시 중지합니다.
높은 증거금 요구 사항 보호
세계적 지정학적 긴장 기간 동안 브로커는 종종 증거금 요구 사항을 임의로 인상하여 예상치 못한 증거금 부족을 유발할 수 있습니다. 시스템은 로트당 요구 증거금을 지속적으로 모니터링합니다. 브로커가 증거금 요구 사항을 표준 기준선의 사전 정의된 배수 이상으로 인상하면 시스템은 정상적인 증거금 조건이 복원될 때까지 새로운 거래 활동을 중단합니다.
거래 실행 및 페이싱
알고리즘이 시장에 진입하는 방식은 신호를 생성하는 로직만큼 중요합니다. SATS 알고리즘은 변동성 기간 동안 슬리피지에 매우 취약한 표준 시장가 주문 사용을 피합니다.
대신 시스템은 적응형 지정가 주문을 활용합니다. 유효한 신호가 생성되면 시스템은 현재 가격 움직임에 기반하여 되돌림 오프셋을 계산하고 대기 지정가 주문을 배치합니다. 이는 시스템이 유리한 가격에만 시장에 진입하도록 보장하여 전략의 전반적인 위험-보상 비율을 극적으로 개선합니다.
변덕스러운 횡보 시장에서 과도한 거래와 수수료 침식을 방지하기 위해 알고리즘은 엄격한 거래 페이싱 제한을 적용합니다. 사용자는 하루에 허용되는 최대 거래 수에 대한 하드 캡을 지정할 수 있습니다. 또한 시스템은 모든 종료 포지션 이후에 쿨다운 타이머를 적용합니다. 이 의무적 휴식 기간은 혼란스러운 가격 변동 중에 시스템이 즉시 재진입하는 것을 방지합니다.
오프라인 경제 뉴스 보호
거시경제 데이터 발표는 일관되게 예측 불가능한 변동성 급등과 심각한 유동성 부족을 유발합니다. 미결제 포지션을 보호하고 이러한 혼란스러운 이벤트 중에 시장 진입을 방지하기 위해 SATS 알고리즘에는 완전히 통합된 오프라인 뉴스 가드가 있습니다.
이 모듈은 MetaTrader 5의 기본 경제 캘린더에 직접 연결됩니다. 사용자는 뉴스 이벤트를 예상 영향 수준(높음, 중간, 낮음 등)으로 필터링할 수 있습니다. 시스템은 사용자가 예정된 뉴스 발표 전후에 특정 블랙아웃 창(분 단위)을 정의할 수 있도록 합니다. 이 블랙아웃 창 동안 시스템은 모든 새로운 거래 진입을 일시 중지하고 대기 주문을 삭제하며, 선택적으로 기존 미결제 포지션의 트레일링 스탑을 조여 변동성이 닥치기 전에 이익을 확보할 수 있습니다.
상세 매개변수 용어집
SATS 알고리즘은 광범위한 사용자 정의 옵션을 제공하여 사용자가 특정 위험 감수성과 거래 목표에 맞게 시스템을 조정할 수 있도록 합니다. 다음은 시스템에서 사용 가능한 모든 입력 매개변수에 대한 포괄적인 설명입니다.
코어 엔진 매개변수
거래 심볼(Symbols to Trade): 시스템이 거래해야 할 금융 상품의 정확한 이름을 쉼표로 구분한 문자열입니다. 이를 통해 EA는 단일 차트 창에서 여러 자산을 관리할 수 있습니다. 예: EURUSD,GBPUSD,XAUUSD.
기본 매직 넘버(Base Magic Number): EA가 생성한 모든 주문에 할당된 기본 식별 번호입니다. 이는 시스템이 자신의 거래만 관리하고 계정의 수동 거래나 다른 전문가 어드바이저와 간섭하지 않도록 보장합니다.
사용자 정의 매직 넘버(Custom Magic Numbers): 사용자가 특정 심볼에 고유한 매직 넘버를 할당하여 세부 추적 및 보고를 가능하게 합니다.
자산 보호 매개변수
최대 일일 손실 비율(Max Daily Loss Percent): 단일 24시간 기간 내에 손실될 수 있는 계좌 잔고의 최대 백분율입니다. 이 임계값이 초과되면 다음 날까지 모든 거래가 중단됩니다.
최대 총 하락 비율(Max Total Drawdown Percent): 허용되는 절대 최대 고점-저점 하락률입니다. 계좌 자산이 최고 수준에서 이 백분율만큼 하락하면 시스템은 남은 자본을 보존하기 위해 모든 운영을 영구적으로 중단합니다.
오프라인 뉴스 가드 매개변수
MT5 캘린더 뉴스 가드 활성화(Enable MT5 Calendar News Guard): MetaTrader 5 경제 캘린더와의 통합을 활성화 또는 비활성화하는 부울 토글입니다.
최소 뉴스 영향도(Minimum News Impact): 블랙아웃 프로토콜을 트리거할 뉴스 이벤트 등급을 결정하는 드롭다운 선택입니다. 일반적으로 "높은 영향만" 또는 "중간 및 높은 영향" 등의 옵션이 있습니다.
뉴스 전 일시 중지 시간(분)(Pause Before News Mins): 예정된 뉴스 이벤트 전에 시스템이 모든 새로운 거래 신호를 거부하는 시간(분)입니다.
뉴스 후 일시 중지 시간(분)(Pause After News Mins): 뉴스 이벤트 후 시스템이 일시 중지된 상태를 유지하여 시장이 데이터를 소화하고 정상적인 유동성 조건으로 복귀하도록 하는 시간(분)입니다.
시장 국면 및 세션 매개변수
시장 국면 감지 활성화(Enable Market Regime Detection): 내부 시장 단계 분석 모듈을 활성화하여 시스템이 횡보 통합과 방향성 추세를 구분할 수 있도록 합니다.
세션 시작 시간(Session Start Hour): 브로커 서버 시간 기준으로 알고리즘이 거래 설정 스캔을 시작할 권한을 갖는 하루 중 특정 시간입니다.
세션 종료 시간(Session End Hour): 알고리즘이 새로운 진입 생성을 중단해야 하는 하루 중 특정 시간입니다. 기존 미결제 포지션은 정상적으로 계속 관리됩니다.
대기 주문 및 진입 매개변수
시장가 대신 지정가 주문 사용(Use Limit Orders instead of Market): 시스템이 정확한 진입 가격을 확보하고 슬리피지를 제거하기 위해 대기 지정가 주문을 통해서만 거래하도록 강제합니다.
지정가 주문 되돌림 오프셋(핍)(Limit Order Retracement Offset Pips): 대기 지정가 주문이 배치될 현재 시장 가격으로부터의 정확한 거리(핍)입니다.
추세 국면에서 RRR 확장(Expand RRR in Trending Regimes): 시장 국면 모듈이 강력하고 지속적인 추세를 감지할 때 테이크프로핏 거리를 자동으로 증가시켜 최대 시장 확장을 포착하려는 동적 기능입니다.
적응형 SuperTrend 및 TQI 매개변수
SuperTrend 기간(SuperTrend Period): SuperTrend 지표의 기준 변동성을 계산하는 데 사용되는 과거 봉의 수입니다.
SuperTrend 기본 승수(SuperTrend Base Multiplier): SuperTrend 라인과 중간 가격 사이의 거리를 계산하기 위해 평균 진폭(ATR)에 적용되는 승수입니다.
TQI 계산 기간(TQI Calculation Period): 추세 품질 지수가 거래량 및 다이버전스 지표를 평가하는 데 사용하는 후행 창입니다.
최소 종합 점수(Minimum Composite Score): 추세 품질 지수가 거래 신호를 검증하기 위해 달성하거나 초과해야 하는 0에서 100까지의 엄격한 수치 임계값입니다.
거래량 델타를 사용한 신호 필터링(Filter signals using Volume Delta): 추세 방향을 확인하기 위해 매수 거래량과 매도 거래량을 분석하는 기능을 활성화합니다.
CVD 다이버전스를 사용한 신호 필터링(Filter signals using CVD Divergence): 누적 거래량 다이버전스 확인을 활성화하여 가격 움직임이 기초 시장 거래량과 다이버전스되지 않도록 보장합니다.
위험 및 자금 관리 매개변수
거래당 기본 위험 비율(Base Risk per Trade Percent): 단일 거래에서 위험에 노출되는 현재 계좌 잔고의 표준 백분율입니다. 시스템은 이를 사용하여 스탑로스 거리에 기반하여 정확한 로트 크기를 자동 계산합니다.
사용자 정의 위험(Custom Risk): 사용자가 특정 심볼에 대해 기본 위험 비율을 재정의하여 안정적인 페어에는 더 많은 위험을, 변동성이 큰 자산에는 더 적은 위험을 할당할 수 있도록 합니다.
RRR TP1: 첫 번째 테이크프로핏 목표에 대한 위험-보상 비율입니다. 예를 들어, 값이 1.5이면 테이크프로핏 거리가 스탑로스 거리의 1.5배임을 의미합니다.
RRR TP2: 두 번째 부분 이익 실현 목표에 대한 위험-보상 비율입니다.
RRR TP3: 최종 테이크프로핏 목표에 대한 위험-보상 비율입니다.
분수 켈리 사이징 사용(Use Kelly Fractional Bet Sizing): 알고리즘의 과거 승률에 기반하여 로트 크기를 조정하는 통계적 자금 관리 모듈을 활성화합니다.
변동성 조정 로트 사이징 사용(Use Volatility Adjusted Lot Sizing): 평균 진폭(ATR)이 과거 기준선을 초과할 때 로트 크기를 동적으로 줄이는 기능을 활성화합니다.
스텔스 모드 및 방어 매개변수
브로커로부터 SL 및 TP 숨기기(Hide SL and TP from broker): 스텔스 모드를 활성화하여 모든 스탑로스 및 테이크프로핏 매개변수를 로컬 터미널 메모리에만 엄격히 보관하고 브로커 서버로부터 숨깁니다.
허용 최대 스프레드(핍)(Max allowed spread Pips): 시스템이 수용할 절대 최대 스프레드(핍)입니다. 현재 시장 스프레드가 이 값을 초과하면 모든 거래 진입이 중단됩니다.
높은 증거금 요구 사항 보호 활성화(Enable High Margin Req Guard): 브로커가 주도하는 갑작스러운 레버리지 인하로부터 계좌를 보호하기 위한 증거금 모니터링 방어를 활성화합니다.
핑 및 지연 시간 보호 활성화(Enable Ping and Latency Guard): 서버 연결이 최적일 때만 거래가 이루어지도록 보장하는 실행 속도 방어를 활성화합니다.
거래 페이싱 매개변수
하루 최대 거래 수(Max Trades Per Day): 시스템이 단일 24시간 기간 내에 개설할 수 있는 총 신규 포지션 수에 대한 하드 제한입니다.
거래 종료 후 쿨다운(분)(Cooldown after closed trade mins): 포지션이 종료된 후 시스템이 해당 특정 심볼에 대한 새로운 신호를 처리할 수 있도록 허용되기 전에 준수해야 하는 의무적 휴식 시간(분)입니다.
