MagicTradeBot에서 application.yaml이란 무엇인가요?

application.yaml이란 무엇인가요?

application.yaml은 MagicTradeBot이 어떻게 시작되고, 거래소에 연결되고, 자신을 식별하고, 시스템 수준에서 작동하는지를 제어하는 기본 구성 파일입니다.

이것을 MagicTradeBot의 부트 구성이라고 생각하십시오 — 모든 전략, 시장 조사 또는 의사 결정 엔진 로직이 실행되기 전에, 봇은 이 파일을 읽어 다음을 이해합니다:

  • 어느 거래소에 연결할지
  • 안전하게 인증하는 방법
  • 데모 모드 또는 실시간 모드로 실행해야 하는지
  • 어떤 라이선스를 사용할지
  • 기본 런타임 동작 (디버깅, 이름 지정, 환경)

유효한 application.yaml 없이는 MagicTradeBot이 초기화되거나 올바르게 작동할 수 없습니다.


application.yaml은 무엇을 제어하나요?

application.yaml 파일은 다음을 포함한 글로벌, 비전략 설정을 담당합니다:

  • 거래소 선택 및 호환성 규칙
  • API 인증 (또는 환경 변수 매핑)
  • 라이선스 검증
  • 봇 아이덴티티 및 런타임 플래그
  • 보안 및 배포 동작

정의하지 않는 것:

  • 거래 전략
  • 손절매 / 이익 실현 규칙
  • 시장 조사 로직
  • DCA 또는 Brain 의사 결정 규칙

이러한 항목은 별도의 기능별 구성 파일에서 처리되어 책임을 깔끔하고 모듈식으로 유지합니다.


주요 섹션 설명

1. 거래소 구성

이 섹션은 MagicTradeBot에 어느 거래소에 어떻게 연결할지 지시합니다.

주요 책임:

  • 거래소 선택 (binance, bybit, okx, bitget, hyperliquid)
  • 거래소별 포지션 모드 호환성 적용
  • API 자격 증명을 안전하게 로드

MagicTradeBot은 여기서 엄격한 검증을 수행하여 다음을 방지합니다:

  • 잘못된 포지션 모드 (예: Hedge vs One-Way)
  • 주문 실행 실패
  • 잘못된 PnL 계산
  • 리스크 관리 불일치

지원되지 않는 거래소가 구성되면 봇은 작동을 거부합니다.


2. API 자격 증명 및 보안

application.yaml은 자격 증명에 대해 두 가지 안전한 방법을 지원합니다:

옵션 A: 직접 YAML (데모/테스트에만 권장)

APIKEY: ""
APISECRET: ""
Passphrase: ""

옵션 B: 환경 변수 (프로덕션에 권장)

환경 변수는 YAML 값을 자동으로 재정의합니다.

이 디자인:

  • 우발적인 키 노출을 방지합니다
  • Docker, VPS 및 클라우드 배포와 완벽하게 작동합니다
  • 엔터프라이즈 보안 모범 사례와 일치합니다

MagicTradeBot은 출금 권한을 절대 요구하지 않으며 이에 대해 명시적으로 경고합니다.


3. 포지션 모드 호환성 (중요)

다른 거래소는 다른 포지션 모드를 지원하며, MagicTradeBot은 시작 시 이를 적용합니다.

예시:

  • Bybit → One-Way 모드만
  • Binance / OKX / Bitget → Hedge 모드 필요

거래소 계정이 잘못 구성된 경우:

  • 주문이 거부될 수 있습니다
  • TP/SL이 실패할 수 있습니다
  • 포지션이 잘못 종료될 수 있습니다

이 검증은 자본을 보호하고 결정론적 동작을 보장하기 위해 존재합니다.


4. 라이선스 구성

라이선스 섹션은 MagicTradeBot 설치를 활성화합니다.

License:
  Key: ""

라이선스:

  • 귀하의 요금제에 따라 기능을 잠금 해제합니다
  • 인스턴스 권한을 제어합니다
  • 시작 시 검증됩니다

유효한 라이선스 키 없이는 봇이 운영 모드로 진입하지 않습니다.


5. 일반 애플리케이션 설정

이 섹션은 봇이 런타임에 어떻게 동작하는지 제어합니다 — 거래 방식이 아닙니다.

주요 옵션:

  • BotName – 로그, 대시보드 및 알림에서 이 인스턴스를 식별하는 데 도움이 됩니다
  • DemoMode – 실제 자금 없이 시뮬레이션된 거래를 활성화합니다
  • DebugMode – 진단을 위한 자세한 로깅을 활성화합니다

이러한 설정은 다음을 실행할 때 특히 유용합니다:

  • 여러 봇 인스턴스
  • 스테이징 vs 프로덕션 환경
  • 디버그 또는 지원 조사

데모 모드 vs 실시간 모드

application.yaml에서 가장 중요한 플래그 중 하나는:

DemoMode: true
  • DemoMode = true → 실제 주문이 이루어지지 않습니다
  • DemoMode = false → 실시간 거래가 활성화됩니다

이를 통해 사용자는:

  • 구성을 안전하게 테스트할 수 있습니다
  • 자본을 위험에 빠뜨리기 전에 전략을 검증할 수 있습니다
  • 실제 시장 데이터로 시뮬레이션에서 봇을 실행할 수 있습니다

MagicTradeBot이 application.yaml을 사용하는 이유

MagicTradeBot이 application.yaml을 사용하는 이유는 다음을 제공하기 때문입니다:

  • 사람이 읽을 수 있는 구조
  • 강력한 관심사 분리
  • 처음 사용자를 위한 안전한 기본값
  • 환경 변수를 통한 쉬운 자동화
  • Docker, 클라우드 및 온프레미스 배포와의 호환성

가장 중요한 것은 예측 가능한 시작 동작을 보장한다는 점이며, 이는 자동화된 거래 시스템에 필수적입니다.


모범 사례

  • ✔ 프로덕션에서는 API 키에 환경 변수를 사용하십시오
  • ✔ 테스트 중에는 DemoMode를 활성화된 상태로 유지하십시오
  • ✔ 실시간으로 전환하기 전에 거래소 포지션 모드를 다시 확인하십시오
  • ✔ API 키에 출금 권한을 절대 활성화하지 마십시오
  • ✔ application.yaml을 인프라 구성으로 취급하고, 전략 구성으로 취급하지 마십시오

요약

application.yaml은 MagicTradeBot 런타임 환경의 기초입니다.

정의하는 것:

  • 봇이 어디에 연결되는지
  • 어떻게 인증하는지
  • 실시간으로 거래하는지 데모로 거래하는지
  • 어떤 라이선스가 활성화되어 있는지
  • 얼마나 안전하게 실행되는지

모든 고급 인텔리전스 — Smart SL/TP, Market Watch, DCA 및 MagicTradeBot Brain과 같은 — 는 이 파일 위에 구축되어, 전체 시스템에서 가장 중요한 구성 요소 중 하나가 됩니다.

📎 Related Topics