Ephemeris Trade Calendar
- ユーティリティ
- バージョン: 1.0
- アクティベーション: 5
Ephemeris Trade Calendar - 口座履歴を月間損益カレンダーに (MT4)
Ephemeris Trade Calendar は MetaTrader 4 の履歴をチャート上の月間損益カレンダーに変えます。決済済みの取引はそれぞれの日に入り、セルは結果で色分けされ、勝ち数と負け数を表示し、週ごとの合計にまとめられます。下部のデッキは統計、エッジマップ(エントリー曜日・時間ごとの P/L と決済済み取引のエクイティカーブ)、日別台帳を切り替え、TODAY メーターが1日の目標と損失上限を追跡します。リアル口座とデモ口座のチャートでは履歴を読むだけで、取引の新規・変更・決済は一切行いません。
クイックスタート
- 任意のチャート(任意の銘柄・時間足)に適用します。Algo Trading は不要です。
- ターミナルウィンドウの「口座履歴」タブを開き、右クリックで All History を選びます。MT4 はこのタブに読み込まれた履歴しかプログラムに渡しません。期間が短いと古い月は空になり、パーセント値は概算になります。
- 任意:1つの銘柄や 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 は当月に戻り今日を選択します。当月表示中は午前0時に日付へ追従します。
カレンダー
- 列は MO から SU(または SU から SA)と WEEK。
- 日のセル:日付、現在の単位での値、2W 1L のような勝ち/負け(損益ゼロの取引はどちらにも数えません)。緑 = 純利益、赤 = 純損失、色が濃いほど月内最大の日に対して結果が大きい;灰色 = 取引ありで損益ゼロ;暗色 = 取引なし;薄い数字 = 隣接月。
- シアンの枠 = 今日、琥珀色の枠 = 選択中の日。
- 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(1取引あたりの純損益)、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 列)、ゼロより上はティール、下は赤、end と low の値付き。
DAY デッキ(台帳)
ヘッダー:曜日、日付、取引数、純損益、W/L。列 TICKET、SYMBOL、SIDE、LOTS、OPEN >CLOSE(シフト後の時刻;* = 別の日に約定または決済)、NET。1ページ7行;`<` と `>` でページ送り。GO TO DAY はチャートをその日までスクロールし、自動スクロールをオフにします(End で戻ります)。取引のない日は "No closed trades on this day." と表示します。
TODAY モジュール
closed(今日の決済済み純損益)、open(フィルターに合う保有ポジションの含み損益)、total。メーターは左の LIMIT から右の TARGET までで、ゼロ印があります。塗りは目標値(決済済み + 含み、または決済済みのみ)。両方 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 モジュールも同じ規則です。パーセントは現在残高から逆算した残高を使います。
- 目標と上限のアラートはそれぞれ1日1回(再適用後は再度)発生します。通知のみで、何も決済しません。
- 月、デッキ、単位、範囲、描画、隅、折りたたみ状態は時間足や銘柄の変更後も保持され、再適用や入力変更でリセットされます。
- ストラテジーテスター:チャート上ではこのユーティリティは取引しません。Market のデモが動くテスターでは、Sample Trades in the Strategy Tester がサーバー時間 08、11、14、17 時に 0.10 ロット(またはブローカー最小ロット)のサンプル取引を1つ建て(方向は 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。
- 1つの EA:Magic Filter = Magic number list、Magic Number List = その magic、そのチャートで PLOT: ON。
- 1日の防衛: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 は常に金額です。
- 統計は過去の結果を示すだけで、将来の結果を予測するものではありません。取引には損失のリスクがあります。
