거래 로봇을 무료로 다운로드 하는 법을 시청해보세요
당사를 Telegram에서 찾아주십시오!
당사 팬 페이지에 가입하십시오
스크립트가 흥미로우신가요?
그렇다면 링크 to it -
하셔서 다른 이들이 평가할 수 있도록 해보세요
스크립트가 마음에 드시나요? MetaTrader 5 터미널에서 시도해보십시오
지표

Symbol Spec Auditor - MetaTrader 5용 지표

Quoc Dat Quach
Quoc Dat Quach
Software engineer with 8 years in fintech and mobile, writing MQL4/MQL5 since 2017. I build Expert Advisors, indicators, trade and risk-management panels and utilities for MT4/MT5, and I trade forex and gold on MT5 myself.
| Korean English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
조회수:
15
평가:
(1)
게시됨:
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

Symbol Spec Auditor는 차트의 단일 패널에서 포지션 규모와 거래 비용을 결정하는 심볼 계약 사양의 구성 요소, 즉 포인트 가치, 스프레드 비용, 마진, 스왑, 체결 규칙 및 거래 세션을 표시합니다. 이 값들은 계좌 통화로 1.00 랏당 금액으로 변환되며, 랏 크기 관련 코드를 은밀하게 위반하는 브로커 설정은 경고로 표시됩니다. 한 번의 클릭으로 마켓 워치(Market Watch)에 등록된 모든 심볼에 대한 동일한 감사 결과를 CSV 파일로 내보낼 수 있습니다.

symbol-spec-auditor-xauusd

XAUUSD H1: 오류가 없는 심볼에 대한 전체 2열 패널

문제점

한 브로커에서 정상적으로 작동하는 코드라도, 아무도 확인하지 않은 사양의 세부 사항 때문에 다른 브로커에서는 종종 오작동을 일으킵니다. 심볼 사양 창에는 모든 정보가 표시되지만, 여러 탭에 분산되어 있고 원시 단위로 표기되어 있어 두 브로커나 두 계좌 유형 간의 차이를 놓치기 쉽습니다. 가정된 계약 규모나 포인트 가치를 기준으로 포지션 규모를 결정하는 Expert Advisor는 저널에 오류 메시지가 표시되지 않음에도 불구하고 잘못된 금액을 위험에 노출시킬 위험이 있습니다. 대표적인 사례:

  • 100온스가 아닌 1온스 계약의 금, 또는 10,000 단위의 외환 “미니” 종목. 일반적인 계약 규모를 가정하는 랏(lot) 계산식이 100 또는 10배나 어긋나는 경우.
  • 잔고, 틱 가치, 증거금이 모두 센트로 표시되는 센트 계좌.
  • 가격에 근접한 SL/TP 또는 수정 주문을 거부하는 스톱 레벨이나 프리즈 레벨.
  • 일일 주문: 브로커가 거래일 종료 시 미결제 주문과 때로는 SL/TP를 삭제합니다.
  • 포인트와 다른 틱 크기로, 틱 격자에서 벗어난 가격은 거부됩니다.
  • 반올림을 강제하는 최소 거래량 또는 거래량 단계, 매도만 가능한 모드의 종목, 또는 이례적인 트리플 스왑일.

이 지표는 이러한 값들을 한곳에 모아 1.00 랏당 금액으로 변환하고, 다시 한 번 살펴볼 필요가 있는 항목을 나열하며, 각 경고에 대해 한 줄로 결과를 표시합니다. 이는 순수한 점검 도구일 뿐입니다: 주문을 체결하지 않으며, DLL을 사용하지 않고, 사용자가 요청한 CSV 내보내기 파일을 제외하고는 다른 파일을 생성하지 않습니다. 패널과 CSV는 동일한 계산 방식을 사용하므로, 한 차트에서 확인한 내용을 전체 마켓 워치와 비교할 수 있습니다.

패널에 표시되는 내용

패널은 차트 심볼에 대한 정보를 표시합니다. 이 정보는 초당 한 번씩 갱신되며, 심볼이나 시간대를 변경할 때 재구성되므로 차트 심볼을 전환하면 심볼별로 차례로 점검됩니다. 산출할 수 없는 값은 이유와 함께 'n/a'로 표시되며, 경고가 발생하는 행은 경고 색상으로 표시됩니다. 행은 다음과 같은 섹션으로 그룹화됩니다:

  • 식별 정보: 종목, 설명, 경로, 계산 모드, 기준 통화, 수익 및 마진 통화, 계좌 통화, 계좌 레버리지 및 마진 모드.
  • 가격 및 계약: 소수점 자릿수, 포인트, 틱 크기, 틱 가치(손익), 계약 규모, 그리고 선물과 같이 만기가 있는 종목의 만기일.
  • 1.00 랏당 금액: 틱 값을 바탕으로 계산된 1포인트의 가치(계약 규모 × 포인트 × 환율로 교차 확인됨); 1.00 가격 변동의 가치; 포인트 및 금액 단위의 현재 스프레드; 차트 시간대의 ATR(14) 및 이를 백분율로 환산한 스프레드.
  • 거래량: 최소, 단계, 최대 및 제한.
  • 1.00 랏당 마진: 매수 및 매도 마진, 초기 마진율, 명목 가치, 그리고 계좌 레버리지 옆에 표시된 유효 레버리지(명목 가치÷마진). 값을 계산할 수 없는 경우, 패널에 그 이유가 표시됩니다(예: “호가 없음”, “마진율이 0”, “계좌 레버리지가 0” 또는 환산율이 누락됨).
  • 1.00 롯당 스왑: 스왑 모드, 롱 및 숏 값, 계좌 통화로 표시된 일일 스왑 비용(포인트, 통화 및 이자 모드) 및 트리플 스왑 일. 일요일에서 토요일 이외의 날짜는 “설정되지 않음”으로 표시됩니다.
  • 체결: 거래 모드, 체결 모드, 체결 정책(FOK, IOC, BOC, Return), 허용되는 주문 유형, 만료 모드, GTC 모드(보류 주문 및 SL/TP의 유효 기간), 포인트 및 가격 단위의 스톱 및 동결 수준.
  • 세션: 서버 시간 기준 오늘의 거래 세션.

경고

패널 하단의 ‘경고’ 블록에는 주의가 필요한 설정 사항이 가장 심각한 순서대로 나열됩니다. 각 경고에는 해당 값과 거래 코드에 미치는 결과가 명시되어 있습니다. 해당 사항이 없으면 패널에 "탐지된 문제 없음"이 표시됩니다. 검사는 일반적인 기준값과 비교하여 이루어지므로, 경고가 항상 브로커의 오류는 아닙니다. 이는 코드가 가정하지 말고 사양에서 직접 읽어야 하는 설정을 표시하는 것입니다.

  • 자산 클래스에 비해 비정상적인 계약 규모: 외환 100,000, 금 100, 은 5,000.
  • 틱 값 또는 틱 크기가 0이거나, 틱 값에서 산출된 포인트 값과 계약 규모에서 산출된 포인트 값의 차이가 1% 이상인 경우.
  • 센트 계좌 통화(USC, EUC 등).
  • 풀(full) 이외의 거래 모드: 비활성화, 롱 전용, 숏 전용 또는 청산 전용.
  • 만료 예정인 계약 및 만료일.
  • 현재 매수/매도 호가가 없는 경우.
  • 틱 크기가 포인트와 다릅니다.
  • 0보다 높은 스톱 레벨 또는 동결 레벨.
  • 일일 주문(GTC 모드). "일일"은 거래일 종료 시 SL/TP 및 보류 주문을 삭제하며, "스탑 제외 일일"은 보류 주문을 삭제하고 SL/TP는 유지합니다.
  • 최소 거래량이 0.01 이상이거나 거래량 단위가 0.01 이상인 경우(외환 및 CFD 종목에만 해당). 거래소 상품은 종종 전체 랏 단위로 거래되므로 표시되지 않습니다.
  • 차트 시간대 기준 ATR(14)의 지정된 백분율보다 높은 스프레드.
  • 수요일 이외의 날에 3배 스왑이 발생하는 경우(외환 및 금속 상품에만 해당). 목요일은 USD/CAD, USD/TRY, USD/RUB, USD/PHP에 대해 허용되며, 해당 통화쌍은 하루 일찍 정산됩니다. 지수, 암호화폐 및 기타 CFD는 종종 금요일에 롤오버되므로, 해당 상품의 경우 날짜는 표시되지만 플래그가 지정되지는 않습니다.

기호 사양 감사 경고

US500 M1 (CFD): 최소 거래량 0.14 랏, 스프레드 28포인트(M1 ATR의 17.6%)

CSV 내보내기

'CSV 내보내기' 버튼 또는 시작 옵션을 사용하면 MQL5\Files\SymbolSpecAudit_<서버>_<yyyymmdd_hhmm>.csv 파일이 생성되며, 마켓 워치 심볼 하나당 한 행씩 기록됩니다. 55개의 열에는 GTC 모드 및 계약 만료일을 포함한 위의 모든 값과 더불어, " | "로 구분된 경고 열과 값이 누락된 이유를 설명하는 메모 열이 포함됩니다. 두 브로커 또는 계좌 유형에서 내보낸 두 파일을 행별로 비교할 수 있습니다.

이 파일은 BOM이 포함된 UTF-8 형식이며, 쉼표로 구분되어 있고, 쉼표나 따옴표가 포함된 필드는 표준 인용 부호로 처리됩니다. 숫자는 소수점 구분자로 점을 사용하며, 천 단위 구분자는 없습니다. 목록 구분자가 세미콜론인 지역 설정에서는 스프레드시트의 가져오기 대화 상자를 통해 파일을 열어야 합니다. 파일의 전체 경로는 ‘전문가(Experts)’ 탭에 표시됩니다.

패널 처리

  • 차트의 임의 모서리, 한 열 또는 두 열(기본값은 자동), 그리고 경고만 표시하는 간소 모드를 지원합니다.
  • 종목 및 시간대 변경 시에도 접힌 상태가 유지되는 접기 버튼.
  • 색상은 기본적으로 차트에 따라 달라집니다. 밝은 차트 배경에는 밝은 패널이, 어두운 배경에는 어두운 패널이 표시됩니다. 각 색상은 수동으로 설정할 수도 있습니다.
  • 레이아웃은 실제 글꼴 메트릭을 기준으로 측정되므로, 다른 글꼴과 정렬이 유지되며 고해상도(DPI) 화면에서도 일관성을 유지합니다. 긴 경고 문구는 패널 너비에 맞춰 줄바꿈됩니다.
  • 텍스트나 위치가 변경된 레이블만 업데이트되므로 패널이 깜빡이지 않습니다.
  • 시작 시, 이전 인스턴스(예: 저장된 템플릿)에 의해 차트에 남아 있는 패널 객체는 제거됩니다.

symbol-spec-auditor-warnings-only

EURUSD M1, 경고 전용 모드: 6포인트의 스프레드는 M1 ATR의 35.9%에 해당합니다.

입력

입력 기본값 설명
패널 모서리 왼쪽 상단 패널이 고정된 차트의 모서리.
X 오프셋 (화면 확대/축소 비율 100% 기준 픽셀) 10 모서리로부터의 수평 거리. 고해상도 화면에서는 자동으로 크기가 조정됩니다.
Y 오프셋 (화면 배율 100% 기준 픽셀) 30 모서리로부터의 수직 거리. 고해상도(DPI) 화면에서는 자동으로 크기가 조정됩니다.
레이아웃 자동 '자동'은 패널이 차트 높이에 맞을 경우 1열을 사용하고, 그렇지 않으면 2열을 사용합니다. '1열' 및 '2열'은 레이아웃을 강제로 지정합니다.
글꼴 이름 Consolas 고정폭 글꼴을 사용하면 열이 깔끔하게 정렬되며, 설치된 글꼴이라면 무엇이든 사용할 수 있습니다.
글꼴 크기 9 4에서 24까지; 다른 값은 이 범위로 제한됩니다.
경고만 표시 false 제목, 경고 및 CSV 내보내기 버튼이 포함된 간소화된 패널.
텍스트 (없음 = 자동) 없음 텍스트 색상. '없음'을 선택하면 차트 배경색을 따릅니다.
제목 (없음 = 자동) 없음 섹션 제목의 색상.
경고 (없음 = 자동) 없음 경고문과 그 뒤의 행 색상.
OK / 트랩 없음 (없음 = 자동) 없음 "트랩 감지되지 않음" 행의 색상.
배경 (없음 = 자동) 없음 패널 배경. 키 레이블, 테두리 및 버튼은 텍스트 색상과 배경색이 혼합되어 표시됩니다.
스프레드가 ATR(14)의 %를 초과할 경우 경고(0 = 비활성화) 15.0 스프레드 경고의 임계값. 0으로 설정하면 경고가 비활성화됩니다.
시작 시 모든 마켓 워치 심볼을 CSV로 내보내기 false 지표가 시작될 때 한 번만 CSV 파일을 작성하며, 종목이나 시간대가 변경되어도 다시 작성하지 않습니다.

사용 방법

  1. 지표를 아무 차트에나 적용하십시오. 이 지표는 차트를 그리지 않으며, Expert Advisor와 함께 실행할 수 있습니다.
  2. 먼저 ‘주의사항’ 섹션을 읽어보십시오. 그 위의 행에는 각 주의사항에 대한 세부 번호가 기재되어 있습니다.
  3. 다른 종목에 대한 감사를 수행하려면 차트 종목을 변경하거나, ‘CSV 내보내기’를 눌러 마켓워치에 있는 모든 종목을 한 번에 감사할 수 있습니다.
  4. '–' 버튼을 사용하여 패널을 제목 표시줄로 접을 수 있습니다.

일반적인 사용 방법은 Expert Advisor를 새로운 브로커나 계좌 유형으로 이동하기 전에 내보내기를 실행하고, 계약 규모, 틱 값, 거래량 단위, 스탑 레벨, GTC 모드 및 스왑 일수를 Expert Advisor가 개발된 계좌와 비교하는 것입니다. 이 열들의 차이는 눈에 띄는 오류 없이도 거래당 위험이나 전략의 비용을 가장 자주 변화시키는 요소들입니다.

참고 사항 및 제한 사항

  • 마진 및 포인트 값 교차 확인에는 수식이 사용됩니다. MetaTrader 5에서는 지표가 OrderCalcMargin 또는 OrderCalcProfit을 호출하는 것을 허용하지 않으므로(오류 4014가 발생함), 따라서 이 지표는 MQL5 문서에서 각 계산 모드에 대해 제시하는 공식을 적용합니다: 브로커가 초기 증거금을 설정했을 경우 고정 초기 증거금, SymbolInfoMarginRate에서 반환된 초기 증거금 비율, 매수 시 호가(ask), 매도 시 매수 호가(bid)를 기준으로 계좌 통화로 환산하는 방식입니다. Forex, Forex(레버리지 없음), CFD 및 CFD(레버리지) 심볼의 경우, 동일한 가격에서 Expert Advisor를 통해 호출된 OrderCalcMargin의 결과와 센트 단위의 반올림 오차 범위 내에서 일치했습니다.
  • 채권 및 담보 종목, 초기 마진이 없는 선물, 그리고 계좌 통화와 통화가 다른 CFD 지수 종목의 경우 마진은 ‘n/a’로 표시됩니다. 거래량에 따른 마진 단계 및 거래 서버에서만 적용되는 규칙은 반영되지 않습니다.
  • 선물 및 채권의 경우 브로커의 틱 값이 규격이므로, 해당 항목의 포인트 값 교차 확인 결과는 ‘n/a’로 표시됩니다.
  • 이자 모드의 스왑 금액은 명목 금액과 1년 360일을 기준으로 계산됩니다. 재개 모드에는 고정 금액이 없으므로 ‘n/a’로 표시됩니다.
  • 통화 변환은 실시간 시세가 제공되는 마켓 워치 종목(직접 또는 USD를 경유)에만 적용됩니다. 해당 종목이 없는 경우, 관련 금액 값은 'n/a'로 표시되거나 명목 금액이 변환되지 않은 상태로 표시됩니다. 해당 변환 쌍을 마켓 워치에 추가하면 값이 채워집니다.
  • MetaTrader 5는 외화 수익 통화를 사용하는 심볼의 틱 값이 읽힐 때 마켓 워치에 환산 심볼을 추가합니다. 따라서 이 지표는 마켓 워치에 등재된 심볼이 이미 수익 통화와 계좌 통화를 연결하고 있는 경우에만 틱 값을 읽으며, 마켓 워치 외부의 심볼은 절대 열거하지 않습니다. 그렇지 않은 경우, 누락된 통화 쌍에 대해 틱 값이 'n/a'로 표시됩니다(예: "마켓 워치에 KRW/USD 심볼이 등재되어 있지 않음"). 테스트 결과, 심볼이 추가된 적은 없었습니다. 다만 터미널이 자체적으로 환산 심볼을 선정하므로, 브로커의 환산 심볼 이름이 마켓 워치에 있는 이름과 다른 경우 심볼이 추가될 수도 있습니다.
  • 센트 계좌는 계좌 통화 코드(USC, EUC, GBC 등)로 인식되며, 주요 통화의 1/100로 변환됩니다(예: 1 USD = 100 USC). 이 경로는 실제 센트 계좌가 아닌 시뮬레이션된 계좌 통화를 사용하여 확인되었습니다. 통화를 USD로 보고하는 센트 계좌는 이 검사에서 감지되지 않습니다.
  • 일반적인 계약 규모와 트리플 스왑 일자는 참고 값입니다. 브로커는 다른 규모(마이크로 또는 센트 종목)나 다른 롤오버 일자를 합법적으로 사용할 수 있습니다. 이 경고는 코드가 사양을 가정하지 않고 사양서를 직접 확인하도록 하기 위해 제공됩니다.
  • ATR은 차트 시간대의 마지막 종가 막대의 ATR(14)입니다. CSV에 포함된 다른 종목의 경우 해당 막대 기록에서 계산됩니다. 프로그램 시작 직후에는 기록이 아직 로드 중일 수 있으며, 이 경우 ‘Notes’ 열에 해당 내용이 표시되고 두 번째 내보내기 시 해당 정보가 채워집니다.
  • 패널은 매 틱마다가 아니라 1초 간격의 타이머에 의해 새로 고쳐집니다. 접힌 상태는 SymbolSpecAuditor_<차트 ID>라는 임시 터미널 전역 변수에 저장되며, 이 변수는 지표가 제거되거나 차트가 닫힐 때 삭제됩니다. 차트당 하나의 인스턴스만 사용하십시오.
  • 스크린샷은 데모 계정과 192 DPI 화면, 글꼴 크기 4(경고 전용 모드에서는 6)에서 촬영되었으며, 패널이 750픽셀 이미지에 맞도록 조정되었습니다. 기본 크기인 9를 사용하면 패널이 더 커집니다.

MetaQuotes Ltd에서 영어로 번역함.
원본 코드: https://www.mql5.com/en/code/77806

Spread Profile by Hour Spread Profile by Hour

브로커 자체의 틱 기록에서 측정된 각 서버 시간당 실제 스프레드를 보여줍니다: 시간당 중앙값 및 90분위수, 스탑 가격 대비 비율 및 랏당 비용(선택 사항), CSV 내보내기 기능을 제공합니다.

Daily Loss Guard Daily Loss Guard

Closes all trades when your daily loss reaches your limit.

Session Range and Spread Session Range and Spread

Draws Asia, London and New York session high/low boxes with each session's range in pips or price, plus a live spread and open-sessions panel.

Currency Exposure and Leverage Monitor Currency Exposure and Leverage Monitor

Splits all open positions into currencies and shows the net exposure per currency in account money, the effective leverage of the account and how much a 1% currency move would change your equity.