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

CGoldSymbol - find the broker's gold and size the position correctly on it - MetaTrader 5용 라이브러리

Petr Kostal
Petr Kostal
  • Algorithmic trading developer (MQL5 / MQL4) 에  Osvc
  • 체코
  • 599
Petr Kostal — algorithmic trading developer, Czech Republic.
I trade on live accounts myself, so I build EAs the way I'd want to run them.
What I build:
• Expert Advisors and indicators for MetaTrader 4 and 5 (MQL4 / MQL5)
| Korean English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
조회수:
8
평가:
(3)
게시됨:
MQL5 프리랜스 이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동

금은 브로커들 간에 거의 어떤 점에서도 합의가 이루어지지 않는 상품입니다. 종목 코드는 XAUUSD, GOLD, XAUUSD.m, XAUUSDpro 또는 GOLD# 등 다양할 수 있습니다. 한 계약의 규모는 100온스일 수도 있고, 10온스일 수도 있으며, 1온스일 수도 있습니다. 가격은 소수점 두 자리 또는 세 자리로 표시될 수 있습니다. 하드코딩된 "100온스, 소수점 두 자리"를 기준으로 로트 크기를 계산하는 EA는 다른 브로커에서는 약간 틀리는 정도가 아니라, 계좌 자금을 바닥내는 방향으로 10배나 큰 오차를 범하게 됩니다.

이 클래스는 가정하지 않고 터미널에 직접 확인합니다.

탐지. Detect()는 계좌에서 제공하는 모든 심볼을 순회하며 이름에 점수를 매깁니다. 따라서 XAUUSD가 XAUUSD.m보다 우선순위가 높고, XAUUSD.m은 대략적으로 일치하는 심볼보다 우선합니다. 반면 은, 백금, 팔라듐은 완전히 제외됩니다. 즉, XAGUSD는 금 검색 결과에서 절대 우선순위를 차지해서는 안 됩니다. 마켓 워치(Market Watch)에 이미 등록된 심볼은 소폭의 가산점을 받습니다. 브로커가 특이한 방식을 사용하는 경우, Attach("YOURNAME")을 사용하면 검색을 건너뜁니다.

사양. ContractSize(), Digits(), Point(), TickSize(), TickValueLoss(), MinLot(), MaxLot(), LotStep(), StopsLevel() 및 FreezeLevel()은 해당 심볼에 대한 터미널에서 직접 가져온 값입니다.

자금. LossForDistance(lots, distance)는 가격 변동이 투자자에게 불리한 방향으로 움직였을 때 계좌 통화로 환산된 손실액을 나타냅니다. LotForRisk(riskMoney, distance)는 그 반대의 기능을 하며, 실제로 중요한 함수입니다: 이 함수는 SYMBOL_TRADE_TICK_VALUE_LOSS를 통해 변환하므로, 10온스 계약이나 유로 표시 계좌에서도 정확한 값을 유지하며, 그 결과를 브로커의 거래 단위 단계로 반올림하여 최소 및 최대 값 범위 내로 맞춥니다. 허용된 한도보다 작은 거래량이라도 더 큰 손실을 초래할 경우, 이 함수는 아무런 경고 없이 최소 랏을 반환하는 대신 0을 반환합니다. 대부분의 포지션 크기 계산 코드는 이 경우를 올림 처리하여 오류를 범합니다.

진단 기능. Attach()는 계약 규모가 100이 아닌 경우, 비정상적으로 많은 자릿수, 터미널에서 0으로 보고되는 틱 값, 0이 아닌 스탑 레벨에 대한 경고를 수집합니다. PrintReport()는 실제 예제를 포함한 전체 사양을 출력하며, 이는 일반적으로 두 브로커에서 전략의 동작 차이가 발생하는 원인을 파악하는 가장 빠른 방법입니다.

100온스 계약, 유로 잔고, 1500포인트 스탑이 설정된 실계좌에서 10,000유로의 1%는 0.07 롯으로 계산되며, 이는 90.42유로의 위험을 수반합니다. 10온스 계약에서 동일한 계산을 수행하면 0.70 랏이 나오고, 1온스 계약에서는 7.00 랏이 나옵니다. 동일한 위험, 동일한 스톱임에도 거래량은 100배나 차이가 나는데, 이것이 바로 하드코딩된 상수가 잘못되는 부분입니다.

이 패키지에는 GoldSymbolDemo.mq5 스크립트가 포함되어 있습니다. 이 스크립트는 금 심볼을 감지하고, 보고서를 출력하며, 잔고의 일정 비율을 여러 스탑 거리에서 랏 크기로 변환합니다. 어떤 차트에서든 이 스크립트를 실행하여 여러분의 브로커가 제공하는 금 거래가 실제로 어떤지 확인해 보세요.

이 클래스는 거래를 개시하거나 포지션을 수정하지 않습니다. 단지 질문에 답할 뿐입니다.

세 가지 서로 다른 금 선물 계약에 동일한 위험과 동일한 손절매가 적용되지만, 계약 단위는 100배나 차이가 난다

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

Trade Excursion Report: MFE and MAE of every closed trade, to CSV Trade Excursion Report: MFE and MAE of every closed trade, to CSV

청산된 거래 건당 한 줄의 CSV 파일을 내보내며, 여기에는 거래 내역서에는 포함되지 않는 수치들이 포함됩니다: 해당 거래에서 나타난 최대 미실현 이익(MFE), 견뎌낸 최대 미실현 손실(MAE), MFE 중 실제로 실현된 금액, 거래가 진행된 바(bar) 수, 그리고 보유 기간입니다. ‘Trade Excursion’ 지표와 동일한 측정 기준이지만, 차트에 표시하는 대신 파일로 출력됩니다. 이 데이터에 대해 물어볼 가치가 있는 질문들은 차트만으로는 답할 수 없기 때문입니다. 예를 들어, 포착 비율은 진입 시각에 따라 달라지는가? 조기 청산한 거래가 가장 오래 보유한 거래인가? 월요일에 발생한 손실 거래의 MAE는 금요일과 다른가? CSV 파일이 생성되면 피벗 테이블 하나로 이러한 질문에 대한 답을 얻을 수 있습니다. 출력 결과는 헤더 행이 포함된 세미콜론으로 구분된 형식으로, MQL5\Files 폴더에 저장되며 어떤 스프레드시트 프로그램에서도 열 수 있습니다. 측정 한계: 편차는 선택한 시간대의 봉 고점과 저점에서 산출되며, 봉 내부의 가격 변동 경로는 알 수 없습니다. ‘봉’ 열은 각 거래의 해상도를 나타내며, 요약 값은 단일 봉 거래를 평균화하지 않고 별도로 집계합니다.

SessionReopenEA SessionReopenEA

CME에서 금은 매일 유지보수 휴장 시간을 갖습니다. 11년간의 표본 데이터에 따르면, 휴장 후 첫 1시간 동안 금 가격은 우연으로 설명할 수 있는 수준을 넘어 상승하는 반면, 그날의 나머지 시간대에는 변동이 없는 것으로 나타났습니다. 세션당 1회 거래, 변동성에 비례하는 서버 측 스톱, 평균화나 그리드 전략 없음. 그러다 보니 제 비용 모델이 틀린 것으로 드러났습니다. 실시간 티크 백테스트 결과, 장 재개 시 실제 왕복 비용은 제 연구에서 산출한 19포인트가 아니라 약 60포인트인 것으로 나타났습니다. M1 바 스프레드 필드는 바당 요약값이므로 실제 비용을 대략 3배 정도 과소평가한 것입니다. 수정된 비용으로 11년 치 데이터를 재분석한 결과: +3.34 bps, t 7.40, 승률 59.3% -> +1.60 bps, t 3.42, 승률 50.8% 수익성은 유지되지만, 원래 강도의 절반 미만 수준으로 떨어졌습니다. 두 번째 수치가 실제 결과입니다. 다음은 사실이 아닙니다: 연간 약 +3.3%, 드로다운 4.6%, 약 9년에 한 번씩 마이너스 수익. 0.01 랏 기준 연간 약 130회 — 이 수치는 전략이 아닌 포지션 규모를 나타내는 것입니다.

OHLC Reality Check - at what stop distance does your backtest start lying? OHLC Reality Check - at what stop distance does your backtest start lying?

모든 M1 바에서 가상 브래킷 거래를 개설하고, 실제 틱 기록에 따라 시나리오를 진행하며, 다양한 스탑 거리 범위에 대해 1분 OHLC 모델링이 해당 거래를 잘못된 방향으로 판단하는 빈도를 보고합니다.

Broker Clock Auditor Broker Clock Auditor

Reads the server clock from the symbol's own H1 history. The forex and CME week closes at 17:00 New York, so the server time of every weekly close gives the server's UTC offset for that week. Over 60 weeks it flags irregular closes, dates every clock change and tests it against the US and European daylight saving calendars, cross-checks TimeTradeServer minus TimeGMT, and lists the server time of the London, New York, Tokyo and Sydney opens for the coming weeks. Writes every close to CSV. Read only: no trade function, no DLL, no network.