判断収集ツールの集計ページ / 作る前の設計案・第 2 版(2026-11-06)

判断収集ツールが書く CSV を Cloudflare のページに落とせば、集計がその場で出る

結論: 判断収集ツールは、答えるたびに 集計用の CSV を 1 つ 書き直す。利用者はそれを Cloudflare に置いた集計ページに落とすだけで、式ごとの集計・資金の推移・月ごとの成績が見られる。段 1 では計算を利用者のブラウザの中だけで行い、記録はサーバーに預けない。段 2 で、L サインと同じ口座認証を使ってサインを配信し、段 3 でログインと記録の保管を足す。
利用者の PC の中で、MT4 の判断収集ツールが集計用 CSV を書き、ブラウザの集計ページがそのフォルダを読んで表とグラフを出す。Cloudflareはページを配るだけ
図 1 — 記録が動くのは利用者の PC の中だけ。サイトから届くのはページのプログラムだけ。
  1. ページは公開するが、段 1 では CSV を読んで計算するのは利用者のブラウザ。記録は PC の外に出ない。
  2. ツールが勝ち負けまで計算した 1 サイン 1 行の CSV を書くので、ページは足のデータも Python も要らない。
  3. 段 2 では L サインの 口座認証 をそのまま使い、製品を作ったあとに増えた過去のサインを配信する。

段 1 のページは Cloudflare から届き、計算は利用者のブラウザで動く

集計ページは Cloudflare のページ置き場に公開する。利用者がページを開くと、ページのプログラムが利用者のブラウザに届いて動く。

利用者は、MT4 の Files フォルダにある集計用 CSV をページに落とす。ページはその CSV をブラウザの中で計算して、表とグラフを描く。

段 1 では、読んだ CSV をサーバーへ送らない。だからログインも保管先も要らない。サインは今どおり CSV で配る。

Cloudflareページを配る利用者のブラウザ読む・計算する・描く落とした CSV集計用の CSVページ落とす記録は送らない
図 2 — 矢印はデータの向き。サイトへ戻る矢印は無い。

ツールは 1 サイン 1 行の集計用 CSV を書き直す

今の記録は、答え・サイン・足などのファイルに分かれている。足のファイルは 3.4MB あり、勝ち負けの判定に使っている。ページで同じ計算をすると、ファイルを何本も読ませることになる。

そこでツールが、答えるたびに集計用の CSV を 1 本書き直す。1 行が 1 サインで、同じサインに答え直したら最新の答えだけを残す。勝ち負けはツールの中の判定をそのまま使う。

CSV にはサインの時刻も注文価格も入れない。どのサインかはサインの固有番号で示し、月ごとの成績のために日付だけを残す。集計には、式・売買・損切と利確の pips・勝敗があれば足りる。

列中身
固有番号配信元でサインに振った番号(時刻は入らない)
日付建てる足の年月日(時刻は入れない)
式・売買零式〜肆式、BUY・SELL
答え入る・入らない、入らない理由
損切・利確pips(入るときだけ)
勝敗勝ち・負け・まだ・取引なし
損切の判断高安以外に置いたときの印
口座番号・サーバー誰の記録か(今の記録と同じ)
表 1 — 集計用 CSV の列。サインの時刻と注文価格は入らない。

画面は式ごとの集計表とサマリー、資金の推移、月ごとの成績

一番上に、式(零式〜肆式)ごとに BUY と SELL を分けた集計表と、全体のサマリーを置く。発生回数・取引回数・勝率・pips・損益を並べ、過去検証シートの上半分と同じ形にする。

その下に資金の推移と月ごとの成績を置く。証拠金とリスクは画面で変えられ、損益はその場で計算し直す。取引 1 件ずつの一覧、スクショ、振り返りの機能は今回は作らない。

判断収集ツールの集計証拠金・リスクシート用 CSV式ごとの集計表(零式〜肆式 × BUY・SELL)発生回数・取引回数・勝率・pips・損益サマリー全体の合計資金の推移月ごとの成績
図 3 — 画面の配置。取引 1 件ずつの一覧は置かない。

サインに固有番号を振り、シートへは番号で行を探して答えを書き出す

配信元のサインデータで、1 件ずつに整数の固有番号を 1 回だけ振る。一度振った番号は変えない。消したサインの番号は欠番にして使い回さず、新しいサインには続きの番号を振る。

判断収集ツールのサインも、シートに最初から入れるサインも、同じ配信元から作るので同じ番号を持つ。シートの年のタブには、この番号の列を 1 つ足す。今の No. は年ごとの 1〜566 なので、そのままでは使えない。

シート用 CSV は、番号で行を探して答えの欄だけを書き出す。中身は損切・利確・勝敗(H〜J 列)と、損切の判断・判断理由・備考(M〜O 列)。サインの日時と注文価格は出さない。間の損益・残高は式なので、H 列と M 列に分けて貼る。

配信元のサインデータ固有番号を 1 回だけ振る判断収集ツール集計用 CSV に番号過去検証シート年のタブに番号の列シート用 CSV番号で行を探す答えの欄だけ
図 4 — 番号は配信元で 1 回だけ振る。ツールとシートが同じ番号を持つので、並び順や件数がずれても行を間違えない。

段 2 は L サインの口座認証でサインを配信し、段 3 でログインと保管を足す

製品に入っているサインは、作った日までの分だけ。日が経つと、作ったあとの期間も過去になり、そこも検証したくなる。段 2 では、この増えた分のサインを配信する。

ツールは起動時に、口座番号を付けて Cloudflare の受け口へサインを取りに行く。受け口は、L サインの製品が使っている口座の確認先に同じ番号を問い合わせ、許可された口座にだけ返す。受け取ったサインは MT4 の中だけで持ち、ファイルに残さない。

段 3 では Google のログインを足し、落とした CSV をサーバーにも保管して、作る側が全員の記録を見る。集計用 CSV の列は段 1 から段 3 まで変えない。

段 1(今)CSV を落として見るログインなし記録は預けない段 2増えたサインを配信L サインの口座認証MT4 の中だけで持つ段 3Google でログイン落とした CSV を保管作る側が全員を見る段 2 のサインの受け取り方判断収集ツール口座番号を付けて取りに行くCloudflare の受け口許可された口座にだけ返すL サインの口座の確認先許可の一覧はここ 1 か所サイン許可か
図 5 — 上が段の並び、下が段 2 の受け取り方。許可の一覧は L サインと共通。
利用者の手間(段 1): MT4 の Files フォルダにある集計用 CSV を、ページに 落とすだけ。
作る順番、口座認証の中身、第 1 版から変えたこと、まだ決めていないこと9 段落

段 1 の作る順番の前半: ツールに集計用 CSV を書く部分を足す。2025 年の試験用 563 件で、取引 170・勝ち 61・獲得 60.4 pips になるか確かめる。

段 1 の作る順番の後半: 集計ページを作って Cloudflare に置く。最後にシート用 CSV の書き出しを足す。

口座認証の中身: L サインの製品(L-series_0-Core.mq4 の 27〜98 行)が使っている。Windows 標準の wininet で、確認先に口座番号を付けて問い合わせる。返事が true なら動き、false なら止まる。

口座認証の扱い: 判断収集ツールにも同じ関数を入れれば、L サインと同じ口座の一覧で使える人を絞れる。テスターの中で止める行は、リプレイの使い方に合わせて見直す。

口座認証の強さ: 口座番号を付けて聞くだけなので、登録された誰かの番号を知っていれば通る。今の L サインと同じ強さで、段 2 もこの強さで進める。確認先は外部のサーバーなので、受け口から問い合わせてよいかは運営する人に確かめる。

第 1 版(MT4 から Cloudflare に自動で送る案)から変えたこと: 自動で送るのをやめ、利用者が CSV を落とす形にした。鍵は配らない。答え直しは最新だけを使う。

既存の Leo 判断ダッシュボード(/leo-dashboard)は別のツールの記録を見るページ。ファイルを落として読む部分とグラフの部品は使い回す。

今の記録の signal_id(名前にサインの日時が入っている)は、記録の中の鍵としてそのまま残す。docs/69 §15-2 の「signal_id は変えない」とぶつからないよう、固有番号は別の列として足す。

まだ決めていないこと: シートの年のタブに足す番号の列を、隠し列にするか No. と置き換えるか。2025 年のシート 566 件とツール 563 件の 3 件の差は、番号を振れば、どちらにだけある番号かで特定できる。ライブのサインをサインツールの矢印から読む形との使い分け。