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

Spread Profile by Hour - 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
평가:
(2)
게시됨:
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

‘시간별 스프레드 프로필’은 브로커의 자체 틱 기록 데이터를 바탕으로 각 서버 시간대별 실제 스프레드 분포를 산출하며, 중앙값과 90분위수를 24개의 막대로 표시합니다. 일반적인 스톱 크기를 입력하면, 각 막대마다 해당 시간대에 스프레드가 1R의 얼마를 차지하는지 알려주므로, 하루 중 스프레드 비용이 높은 시간대를 한눈에 파악할 수 있습니다.

spread-profile-eurusd

EURUSD, 틱 수, 50포인트 스탑: 하루 대부분 6포인트(스탑의 12%), 21:00 롤오버 시 34포인트(68%)

문제점

일중 거래 및 스캘핑 시스템의 경우, 진입 신호가 아닌 스프레드가 종종 수익성 유지 여부를 결정합니다. 거래 터미널은 현재 스프레드는 표시하지만, 하루 동안 스프레드가 어떻게 변동하는지는 보여주지 않습니다. 거래량이 적은 시간대에 테스트된 전략이라도, 롤오버 시점이나 세션 개장 시, 또는 뉴스 발표 전후에는 동일한 규칙을 적용해도 실패할 수 있는데, 이는 단순히 해당 시간대의 스프레드가 몇 배나 더 넓어지기 때문입니다.

봉 차트 기록에는 봉당 스프레드 값이 하나만 저장되므로 분포를 파악하기 어렵습니다. 이 지표는 틱 데이터를 직접 분석합니다. 즉, 지난 N일간의 모든 매수/매도 호가를 서버 시간 기준 시간대별로 그룹화하여 분석합니다. 그 결과 시간대별 중앙값과 90분위수가 산출되며, 이를 스탑 가격 및 예상 변동폭과 직접 비교할 수 있습니다.

주요 기능

  • 지난 N일간의 CopyTicksRange 데이터를 기반으로 계산된 시간당 중앙값, 90분위수, 평균 및 최대 스프레드(포인트 단위). 오늘 날짜는 제외되므로 세션 중 그래프가 변동하지 않습니다.
  • 두 가지 샘플링 모드:
    • 틱 수: 각 호가는 한 번만 집계됩니다.
    • 시간 가중: 각 호가는 유효한 기간(다음 호가가 나올 때까지, 최대 60초) 동안만 계산됩니다. 틱 계수는 변동성이 큰 시장을 과대 평가하는 경향이 있으며, 변동성이 큰 시장에서는 스프레드가 가장 넓게 나타나는 경우가 많습니다. 시간 가중 방식은 “이 시간대의 임의의 순간에 내가 지불했을 스프레드는 얼마였을까”라는 질문에 답해 줍니다.
  • 평일 필터: 모든 요일 또는 월요일부터 금요일까지 개별적으로 설정 가능합니다.
  • 비용 보기: 스탑 크기를 포인트 단위로 입력하면, 각 막대에는 해당 스탑 대비 스프레드 중앙값이 백분율로 표시됩니다. 헤더에는 현재 시간대의 스탑 대비 스프레드 중앙값과 90분위수가 표시됩니다.
  • 현재 시간대의 1.00 랏당 계좌 통화로 표시된 스프레드 비용 중앙값으로, 해당 종목의 틱 값과 틱 크기를 기준으로 계산됩니다.
  • 중앙값 기준 가장 저렴한 시간과 가장 비싼 시간(각각 최대 3개까지). 중앙값이 동일한 시간은 함께 나열되거나 요약되어 표시됩니다(예: “가장 저렴한 시간: 6 pt인 23시간”). 따라서 동일한 값은 순위 형태로 표시되지 않습니다. 모든 시간의 중앙값이 동일할 경우, 헤더에 해당 내용이 표시됩니다.
  • 현재 서버 시간이 강조 표시되며, 실시간 스프레드는 점선으로 표시됩니다. 창이 너무 좁아 모든 막대 위에 레이블을 표시할 수 없는 경우, 가장 높은 막대만 레이블을 유지합니다.
  • 시간별 통계를 MQL5\Files 폴더로 CSV 파일로 내보낼 수 있습니다(UTF-8, Excel에서 바로 열림).
  • 타이머 단계당 하루 분량의 틱 데이터를 불러온 후 즉시 해제하므로, 금이나 암호화폐(하루 100,000개 이상의 틱)를 다룰 때도 차트가 원활하게 반응합니다. 터미널이 아직 데이터를 다운로드 중인 날짜는 몇 초 동안 재시도되며, 틱 데이터가 M1 막대를 모두 포함하지 않는 날짜는 사용되기 전에 재시도됩니다. 터미널의 M1 기록(차트의 최대 막대 수)보다 오래된 날짜의 경우, 막대를 기준으로 완전성을 확인할 수 없습니다. 터미널이 데이터를 다운로드하는 동안, 해당 날짜의 틱 수가 더 이상 변하지 않을 때만 사용됩니다.
  • 가장 최근의 날짜부터 먼저 읽습니다. 3일 연속(또는 선택한 요일 기준 3일 연속) 틱이 반환되지 않거나, 10일 연속 틱과 M1 바가 모두 없는 경우(어떤 시장 휴일보다 긴 기간), 해당 날짜들은 잠시 멈춘 후 두 번째로 읽히며, 여전히 틱이 없으면 로딩이 중단됩니다. 브로커의 틱 저장소에 공백이 있는 경우에도 동일한 효과가 발생합니다. 틱 기록이 전혀 없는 심볼의 경우 약 20초 이내에 명확한 메시지가 표시되며, 선택한 깊이보다 짧은 틱 기록은 시작 지점까지 사용됩니다. 긴 깊이로 처음 실행할 때 터미널이 아직 데이터를 다운로드 중일 수 있습니다. 로딩이 조기에 중단되면 다운로드가 완료된 후 다시 연결하십시오(두 번째 실행은 디스크에서 데이터를 읽습니다). Expert Advisor 일지에는 계산마다 한 줄의 요약이 기록됩니다.
  • 차트 표시 방식은 다음과 같습니다. 배경색은 기본적으로 차트 색상을 따르며, 텍스트와 격자 색상은 어두운 배경이나 밝은 배경에 맞춰 조정되고, 레이아웃은 화면 DPI에 따라 크기가 조정됩니다. 하나의 차트에서 여러 개의 인스턴스를 실행할 수 있습니다.
  • 거래 기능, DLL, 외부 파일이 필요하지 않습니다.

입력

입력 기본값 설명
기록 깊이, 달력 일수(오늘 제외) 20 읽을 오늘 이전의 달력 일수 (1~365). 주말도 일수로 계산되므로, 20일(달력일)은 14~17거래일에 해당합니다.
샘플링 틱 수 틱 수 또는 시간 가중치(‘기능’ 참조).
평일 필터 모든 날 프로필을 특정 요일로 제한합니다. 20일(달력일)에는 특정 요일이 2~3일밖에 포함되지 않으므로, 기록 깊이도 함께 늘리십시오.
히스토그램 범위, 포인트(분산 폭이 넓을수록 오버플로우 발생) 5000 이보다 더 넓은 스프레드는 오버플로 빈으로 이동합니다. 오버플로 빈에 속하는 통계값은 ">5000"으로 표시됩니다.
표시할 시간대의 최소 틱 수 100 이보다 틱 수가 적은 시간은 "-"로 표시됩니다(예: 일간 휴장일).
스탑 크기, 포인트 (0 = 비활성화) 0 일반적인 스톱입니다. 0으로 설정하면 백분율 표시가 꺼지고 대신 포인트 단위의 중앙값이 표시됩니다.
100% 확대/축소 시 창 높이, 픽셀 (0 = 크기 조정 가능) 240 화면 DPI에 따라 크기가 조정되는 지표 창의 고정 높이입니다. 0으로 설정하면 창의 크기를 자유롭게 조정할 수 있습니다.
배경 (없음 = 차트 배경) 없음 '없음'을 선택하면 차트 배경이 사용됩니다.
중앙값 막대 파란색 중앙값 막대의 색상.
90번째 백분위수 상한선 (없음 = 더 밝은 막대 색상) 없음 '없음'을 선택하면 막대 색상이 더 밝은 버전으로 표시됩니다.
현재 시간 주황색 현재 서버 시간의 강조 색상입니다.
실시간 스프레드 라인 빨간색 실시간 스프레드 라인의 색상.
텍스트 (없음 = 자동) 없음 '없음'을 선택하면 어두운 배경이나 밝은 배경에 따라 가독성이 좋은 색상이 선택됩니다.
격자 (없음 = 자동) 없음 '없음'을 선택하면 배경과 어울리는 격자 색상이 선택됩니다.
글꼴 크기, pt 9 기본 글꼴 크기.
시간별 통계를 MQL5\Files에 저장 (CSV) false 각 계산이 끝날 때마다 MQL5\Files\SpreadProfile_<symbol>_<yyyymmdd>.csv 파일을 작성합니다.

읽는 방법

각 막대는 서버 시간 기준으로 하루 중 1시간을 나타냅니다. 실선으로 표시된 부분은 중앙값 스프레드입니다. 즉, 호가의 절반 또는 시간 가중 모드에서 시간의 절반이 이 값 이하인 스프레드를 보였습니다. 더 밝은 색으로 표시된 상한선은 90번째 백분위수에 해당하며, 10개 중 1개의 호가가 이 값보다 넓었습니다. 점선은 실시간 스프레드이며, 강조 표시된 열은 현재 서버 시간대를 나타냅니다. 아래 예시는 20일(이 중 17일은 틱 데이터가 있는 날) 동안 데모 계좌에서 캡처한 스크린샷에서 가져온 것입니다.

  • EURUSD, 틱 카운트, 50포인트 스탑: 24시간 중 23시간 동안 중앙값은 6포인트입니다. 서버 시간 기준 21:00, 즉 일일 롤오버 시점에는 스프레드가 34포인트이며 90분위수는 58입니다. 중앙값 스프레드는 하루 대부분 동안 1R의 12%를 차지하지만, 해당 시간대에는 68%를 차지합니다.
  • GBPUSD, 시간 가중치: 23시간 동안 7포인트, 21:00 기준 중앙값 46, 90번째 백분위수 94. 틱 수 측정 모드에서 같은 시간대의 수치는 54와 100으로 나타납니다. 이는 롤오버 전후의 호가 변동이 가장 활발한 시점에 스프레드 폭도 가장 넓어지기 때문입니다.
  • XAUUSD, 틱 수 기준, 1500포인트 스탑: 데이터가 있는 모든 시간대의 중앙값은 182포인트(스탑의 12%, 1랏당 18.20 USD)이므로, 헤더에는 동일한 값을 순위별로 나열하는 대신 이 수치를 표기했습니다. 21:00의 일일 전환 시점에는 틱이 없으므로 "-"로 표시됩니다.

GBP/USD 스프레드 프로필 - 시간 가중

GBPUSD, 시간 가중치, 스탑 미설정: 23시간 동안 7포인트, 21:00 기준 중앙값 46, 90분위수 94

spread-profile-xauusd

XAUUSD, 틱 수 기준, 1500포인트 스탑: 데이터가 있는 매 시간 182포인트, 매일 21:00 휴식 시간에는 틱 없음

실용적인 해석: 시스템이 거래하는 시간대 중 중앙값 스프레드가 스탑의 상당 부분을 차지하는 경우, 해당 시간대를 건너뛰거나, 스탑 폭을 넓히거나, 예상되는 가격 변동이 이를 상쇄할 수 있도록 해야 합니다. 90분위수는 나쁘지만 드물지 않은 체결 결과가 어떤 모습인지 보여줍니다.

참고 사항 및 제한 사항

  • 틱 기록의 깊이는 브로커와 터미널이 이미 다운로드한 데이터에 따라 달라집니다. 터미널이 서버에서 틱 데이터를 다운로드하기 때문에, 장기간에 걸친 첫 실행에는 다소 시간이 걸릴 수 있습니다. 틱 기록이 선택한 깊이 이전에 종료되는 경우, 헤더에는 “이전 틱 없음”과 함께 사용된 가장 오래된 날짜가 표시됩니다. 예를 들어, 테스트 서버의 경우 틱 기록은 2026년 1월 1일부터 시작되었으나, M1 바는 수년 전까지 거슬러 올라갑니다.
  • 모든 시간은 서버 시간 기준입니다. 브로커의 서버 시간대 및 일광 절약 시간제 규정에 따라, 일일 롤오버와 같은 이벤트는 여름과 겨울 사이에 서버 시간 기준으로 1시간 차이가 발생할 수 있습니다. 이러한 전환 시기를 포함하는 기록 창에서는 해당 이벤트가 인접한 두 시간대에 걸쳐 표시됩니다.
  • 데모 계좌와 실전 계좌, 그리고 서로 다른 계좌 유형(스탠다드, 로우, 제로)은 동일한 종목에 대해 매우 다른 스프레드를 보일 수 있습니다. 실제 거래하는 계좌를 기준으로 확인하십시오.
  • 스프레드 이력은 향후 스프레드를 보장하지 않습니다. 뉴스, 공휴일 및 유동성이 낮은 기간에는 여기에 표시된 90분위수보다 훨씬 높은 스프레드가 발생할 수 있습니다.
  • 랏당 비용은 현재 틱 값을 사용하며, 크로스 통화쌍의 경우 환율에 따라 변동합니다.
  • 프로필은 새로운 서버 일자가 시작될 때마다, 그리고 입력값, 종목 또는 시간대가 변경될 때마다 재계산됩니다.
  • 테스트 머신에서 XAUUSD 20일분(430만 틱)은 약 1~3초 만에 로드되었으며, 90일치(1,900만 틱)는 약 8초, 365일치 EURUSD 데이터(틱이 포함된 232일 동안의 940만 틱)는 약 30초가 소요되었으며, 여기에는 틱 기록이 디스크에 저장된 후 틱 기록 시작 전 날짜에 대한 두 번째 판독 시간도 포함됩니다. 실제 소요 시간은 브로커의 틱 밀도와 틱 데이터가 이미 디스크에 저장되어 있는지 여부에 따라 달라집니다.

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

Daily Loss Guard Daily Loss Guard

Closes all trades when your daily loss reaches your limit.

Supply Demand Zones Supply Demand Zones

Supply and demand zones for Gold (XAUUSD), EURUSD and any symbol: zones from swing highs and lows sized by ATR, fresh or tested, merged, broken ones removed, alerts and 5 buffers for EAs. Open source code.

Symbol Spec Auditor Symbol Spec Auditor

계좌 통화로 표시된 포지션 규모와 거래 비용(포인트 가치, 스프레드 비용, 증거금, 스왑, 체결 규칙)을 결정하는 계약 사양 세부 정보를 보여주는 차트 패널로, 롯 크기 관련 코드를 은밀하게 위반하는 브로커 설정에 대해 경고하고, 마켓 워치(Market Watch)의 모든 종목에 대한 감사 내역을 CSV 파일로 내보낼 수 있습니다.

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.