Ephemeris Trade Calendar
- 유틸리티
- 버전: 1.0
- 활성화: 5
Ephemeris Trade Calendar - 계좌 내역을 월간 손익 달력으로 (MT4)
Ephemeris Trade Calendar는 MetaTrader 4 내역을 차트 위의 월간 손익 달력으로 바꿉니다. 청산된 거래는 각자의 날짜에 들어가며, 셀은 결과에 따라 색이 칠해지고 이익/손실 건수를 보여 주며 주간 합계로 더해집니다. 하단 덱은 통계, 엣지 맵(진입 요일과 시간별 P/L 및 청산 거래 자산 곡선), 일별 원장을 전환하고, TODAY 미터가 일일 목표와 손실 한도를 추적합니다. 실계좌와 데모 차트에서는 내역만 읽으며 거래를 열거나 수정하거나 청산하지 않습니다.
빠른 시작
- 아무 차트(아무 심볼, 아무 시간프레임)에 적용합니다. Algo Trading은 필요 없습니다.
- 터미널 창에서 계좌 내역 탭을 열고 마우스 오른쪽 버튼으로 All History를 선택합니다. MT4는 이 탭에 불러온 내역만 프로그램에 제공하므로, 기간이 짧으면 오래된 달이 비고 퍼센트가 근사값이 됩니다.
- 선택: 한 심볼이나 한 EA만 보려면 Symbol Filter와 Magic Filter를, TODAY 미터에는 Daily Target / Daily Loss Limit를 설정합니다.
- 확인: 배지에 TRACKING n TRADES가 표시되고 달이 채워집니다. 날짜를 클릭하면 원장이 열립니다.
패널
헤더
- LED: 보라색 정상, 녹색 목표 도달, 빨간색 손실 한도 도달, 호박색 한도의 80% 이내, 회색 청산 거래 없음.
- `<>`는 패널을 다음 모서리로 옮깁니다. `[-]`는 오늘 P/L(청산 + 평가)을 보여 주는 EPHEMERIS 알약으로 접고, `[+]`는 펼칩니다.
- 보조 줄: #계좌, 통화, 필터: ALL SYM, 차트 심볼 또는 LIST(n); ALL MAGIC, MANUAL 또는 MAGIC(n); NET(스왑과 수수료 포함) 또는 GROSS.
- 배지: TRACKING n TRADES, NO CLOSED TRADES, CHECK FILTER LIST(목록 필터를 골랐지만 목록이 비어 있음), TARGET REACHED, LOSS LIMIT HIT, NEAR LOSS LIMIT. 작업 후 몇 초간: EXPORTED n TRADES, m DAYS, EXPORT FAILED(오류 코드), HISTORY RELOADED, AUTOSCROLL OFF, DAY NOT ON CHART.
월 이동
`<<` 이전 달, `>>` 다음 달(현재 달까지), TODAY는 현재 달로 돌아가 오늘을 선택합니다. 현재 달을 볼 때는 자정에 날짜를 따라갑니다.
달력
- 열은 MO부터 SU(또는 SU부터 SA)와 WEEK.
- 날짜 셀: 날짜, 현재 단위의 값, 2W 1L 같은 이익/손실 건수(순손익 0인 거래는 어느 쪽에도 세지 않음). 녹색 = 순이익, 빨간색 = 순손실, 진할수록 그달 최대 일에 비해 결과가 큼; 회색 = 거래했지만 순손익 0; 어두움 = 거래 없음; 흐린 숫자 = 인접 달.
- 청록색 테두리 = 오늘, 호박색 테두리 = 선택한 날.
- WEEK: 그 행의 현재 단위 합계와 거래 수(n tr). 퍼센트 모드에서는 일별 퍼센트의 합.
- 셀을 클릭하면 그날을 선택하고 DAY 원장을 엽니다. 인접 달의 흐린 날을 클릭하면 그 달로 전환합니다.
월간 띠
NET(금액), RETURN(월 순손익 / 월초 잔고), GREEN DAYS(이익일 / 거래일), TRADES, WIN RATE.
탭과 토글
- STATS, EDGE, DAY로 하단 덱을 전환합니다.
- UNIT: MONEY, UNIT: %, UNIT: PTS로 달력 값을 바꿉니다: 계좌 통화; 그날 시작 잔고 대비 퍼센트; 포인트(가격 거리 / 심볼 포인트, 심볼 간 합산).
- SCOPE: MONTH 또는 SCOPE: ALL은 STATS와 EDGE를 보고 있는 달 또는 불러온 전체 내역에 적용합니다.
STATS 덱 (금액)
Net P/L, Return(순손익 / 범위 시작 잔고), Trades, Win rate, Profit factor(총이익 / 총손실; 손실 거래가 없으면 --), Expectancy(거래당 순손익), Avg win, Avg loss, Payoff ratio(평균 이익 / 평균 손실), Largest win, Largest loss, Max drawdown(청산 거래 누적 P/L의 고점 대비 최대 하락, 금액 및 그 고점 잔고 대비 %), Win streak, Loss streak, Best day와 Worst day(날짜 포함), Green days(이익일 / 거래일, %), Swap + comm. 하단: SCOPE, LOTS, HISTORY FROM(가장 오래된 불러온 기록).
EDGE 덱 (금액)
- ENTRY WEEKDAY: 요일마다 그날 진입한 거래의 P/L 막대(녹색 위, 빨간색 아래, 평평한 회색 = 없음). ENTRY HOUR: 진입 시간 0-23의 막대 24개. 둘 다 Day Shift를 따르며 최고/최악 요일과 시간을 표시합니다.
- EQUITY CURVE: 범위 내 청산 거래의 누적 P/L을 청산 순서로(최대 82열), 0 위는 청록, 아래는 빨강, end와 low 값과 함께 표시합니다.
DAY 덱 (원장)
머리글: 요일, 날짜, 거래 수, 순손익, W/L. 열 TICKET, SYMBOL, SIDE, LOTS, OPEN >CLOSE(이동된 시간; * = 다른 날 진입 또는 청산), NET. 페이지당 7행; `<`와 `>`로 넘깁니다. GO TO DAY는 차트를 그날로 스크롤하고 자동 스크롤을 끕니다(End로 복귀). 거래 없는 날은 "No closed trades on this day."를 표시합니다.
TODAY 모듈
closed(오늘 청산 순손익), open(필터에 맞는 보유 포지션의 평가 P/L), total. 미터는 왼쪽 LIMIT에서 오른쪽 TARGET까지이며 0 표시가 있습니다. 채움은 목표 값(청산 + 평가, 또는 청산만)입니다. 둘 다 0이면 "no target or limit set"을 표시합니다.
작업 버튼
- PLOT: ON / PLOT: OFF는 보고 있는 달의 차트 심볼 거래를 그립니다: 진입 화살표(파랑 buy, 주황 sell), 청산 표시와 손익 색 점선, 순손익 라벨. 마우스를 올리면 티켓이 보입니다. 최근 400건까지 그리며, 이때 상태 줄에 PLOT n/m이 표시됩니다.
- EXPORT CSV는 아래 파일을 씁니다. REFRESH는 즉시 내역을 다시 읽습니다. SYNC hh:mm:ss = 마지막 갱신.
자동 동작
- 내역은 History Check Interval 초마다와 매 틱마다 확인하며, 기록 수·계좌·날짜가 바뀔 때만 다시 계산합니다.
- buy와 sell 거래만 집계합니다. 삭제된 대기 주문, 잔고 및 크레딧 기록은 건너뜁니다(잔고 작업은 퍼센트 계산에만 쓰이고 P/L에는 들어가지 않음). 부분 청산은 별도 거래로 나타납니다. MT4가 청산된 부분마다 별도 티켓으로 저장하기 때문입니다.
- 날짜는 Assign Trades to Days by와 Day Shift from Server Time을 따르며 TODAY 모듈도 같은 규칙입니다. 퍼센트는 현재 잔고에서 거꾸로 재구성한 잔고를 사용합니다.
- 목표와 한도 알림은 각각 하루 한 번(재적용 후 다시) 발생합니다. 알리기만 하며 아무것도 청산하지 않습니다.
- 달, 덱, 단위, 범위, 그리기, 모서리, 접힘 상태는 시간프레임이나 심볼을 바꿔도 유지되며, 재적용이나 입력 변경 시 초기화됩니다.
- 전략 테스터: 차트에서는 이 유틸리티가 거래하지 않습니다. Market 데모가 실행되는 테스터에서는 Sample Trades in the Strategy Tester가 서버 시간 08, 11, 14, 17시에 0.10랏(또는 브로커 최소 랏) 샘플 거래를 하나 열고(방향은 H1 20-SMA, 손절 1.2 ATR, 익절 1.6 ATR, 증거금 확인) 21시에 청산합니다(magic 20261105). 그래서 달력에 보여 줄 내역이 생깁니다. 버튼은 비주얼 테스터에서 작동하지만 날짜 셀은 클릭할 수 없습니다.
알림
목표 값이 목표에 도달하면 "daily target reached", 마이너스 한도까지 떨어지면 "daily loss limit reached". Popup Alert on Target or Limit은 팝업을, Push Notification on Target or Limit은 푸시를 보냅니다(도구 > 옵션 > 알림에서 MetaQuotes ID 설정).
파일과 전역 변수
- EXPORT CSV는 MQL4\Files\Ephemeris\<account>_trades.csv(ticket, symbol, type, lots, 진입/청산 시간과 가격, profit, swap, commission, net, points, magic, day)와 <account>_days.csv(day, trades, wins, losses, net, gross profit, gross loss, lots, points, pct_of_balance)를 씁니다. 내보낼 때마다 덮어씁니다(파일 > 데이터 폴더 열기).
- Publish Global Variables 사용 시: EPH_<account>_TODAY_NET(오늘 청산 순손익), EPH_<account>_TODAY_TOTAL(청산 + 평가), EPH_<account>_GOAL_STATE(1 목표 도달, -1 한도 도달, 0 둘 다 아님). 매초 갱신되며 유틸리티를 제거하면 삭제됩니다.
string a = IntegerToString(AccountNumber());
double goal = GlobalVariableGet("EPH_" + a + "_GOAL_STATE");
if(goal < 0) return; // 오늘 손실 한도 도달: 신규 진입 없음 - 차트 객체는 접두사 EPH_C_(패널)와 EPH_T_(그린 거래)를 사용하며 종료 시 모두 삭제됩니다. DLL 없음.
입력 변수
- Symbol Filter (All symbols): All symbols / Chart symbol only / Symbol list.
- Symbol List: 쉼표로 구분, 대소문자 무시. 각 항목은 그것으로 시작하는 모든 심볼과 일치(EURUSD는 EURUSDm 포함).
- Magic Filter (All trades): All trades / Manual trades only (magic 0) / Magic number list.
- Magic Number List: 쉼표로 구분한 숫자.
- Include Swap and Commission (true): false = 총이익만(GROSS).
- Assign Trades to Days by (Close time): Close time / Open time.
- Day Shift from Server Time(0, -12~12시간): 날짜 경계, 진입 시간, 원장 시간을 이동합니다.
- Week Starts on (Monday): Monday / Sunday.
- Cell Value at Start (Money): Money / Percent of balance / Points.
- Stats Scope at Start (Viewed month): Viewed month / All loaded history.
- Lower Deck at Start (Stats): Stats / Edge map / Day ledger.
- Daily Target (0 = off), Daily Loss Limit (0 = off): 양수 값.
- Target and Limit Unit (Money): Money / Percent of day-start balance.
- Include Floating P/L in the Daily Goal (true).
- Popup Alert on Target or Limit (true), Push Notification on Target or Limit (false).
- Publish Global Variables (false). Plot Trades on Chart at Start (true).
- Profit Color, Loss Color: 셀, 라벨, 그리기 색.
- Panel Corner (Top left): Top left / Top right / Bottom right / Bottom left. Panel X Offset (12), Panel Y Offset (24): 그 모서리로부터의 픽셀.
- Panel Scale(1.0, 0.6-2.0). Start Collapsed (false).
- History Check Interval(2, 1-60초).
- Sample Trades in the Strategy Tester (true): 테스터 전용, 위 참조.
대표 설정
- 계좌 전체 일지: 기본값, 계좌 내역은 All History.
- EA 하나: Magic Filter = Magic number list, Magic Number List = 그 magic, 그 차트에서 PLOT: ON.
- 일일 방어: Daily Target 1.0, Daily Loss Limit 2.0, Target and Limit Unit = Percent of day-start balance, Push Notification on Target or Limit와 Publish Global Variables = true로 EA가 GOAL_STATE를 읽게 합니다.
- 현지 시간 기준 날짜: Day Shift from Server Time = 내 UTC 오프셋 − 서버 오프셋(서버 UTC+2, 나 UTC+8: 6).
참고
- 계좌 내역에 불러온 내역만 보입니다. 포인트는 포인트 크기가 다른 심볼 사이에서도 합산됩니다. STATS와 EDGE는 항상 금액입니다.
- 통계는 과거 결과만 설명하며 미래 결과를 예측하지 않습니다. 거래에는 손실 위험이 있습니다.
