実践ワークショップ

25列の取引日誌:元記録・R・重複・部分決済を分ける

口座付きID、25項目、Rの分母、ゼロ結果を含むVBAを点検。元EUR・PLN模型と、部分決済の円損益から平均Rの落とし穴を検算します。

取引記録と集計の関係を抽象化した編集用画像。実口座の成績ではありません。
元記録を残して、集計の単位と分母を点検します。

レバレッジを使うFXやCFDでは、短時間で大きな損失が生じることがあります。内容は学習用であり、個別の投資助言ではありません。

この記事の内容

この記事を読むと…

  • 計画・約定・計算を分け、25列を問いに合わせて定義する。
  • 口座とID、通貨、初期リスク、ゼロ結果の分母を照合する。
  • 部分決済の操作平均と一アイデアのRを区別する。

記事内で用語を調べる

トレード日誌 実現損益 想定元本(Notional) 残高(Balance) コミッション(売買手数料) ドローダウン

架空の日誌でMarkの171取引は−4,200 EUR。セットアップと指標予定の列を加えた保存資料から、−2,700 EUR、全損失の約64.3%という区分を見つけたと仮定します。その除外が将来+8,100 EURを作る因果の証明ではありません。以下の25列は提案設計で業界標準ではありません。

五列の日誌に不足するかは、調べたい問い次第

簡潔な日誌でも結果は残せますが、特定の調査には列が足りない場合があります。問いから必要列を選び、計算を再現できる資料と計画・実約定の区別を残します。

この提案は取引10列、リスク5列、セットアップ5列、レビュー5列です。著者や業者の必須標準ではなく編集上の設計で、監査可能な原記録を残して調整できます。

元の事象記録と計算集計を分けます。計画は判断時に知り得た情報、約定・費用は実際の事実、式は定義からの導出です。手入力でなくインポート約定も原資料。集計一行を一つの取引アイデアと定義し、部分約定は別操作シートのアイデアIDで結びます。部分出口二つは独立信号二つではありません。口座、通貨、デモ・実、時刻帯、戦略版も原資料や辞書へ保存し、換算なしにPLNとUSDを足しません。

取引データ10列:基準と単位を残す

ここでは入口日時と出口日時を各一列へまとめます。執行比較が必要なら計画価格と実約定を分け、欠けた入口文脈を後知恵で作りません。足内観測が必要な指標はこの十列だけで求められません。

取引データ10列(1〜10)
1. 入口日時ISO形式YYYY-MM-DDとHH:MM。時系列並べ替え・曜日区分に使う。
2. 銘柄EUR/USD、GBP/JPY、USD建て金など。提供者の銘柄と契約仕様も保存。XAU/USDは金の建値で二通貨ペアではない。
3. 方向買い・売りを保存。計算の方向符号に使う。
4. 入口約定クリック時の参照気配と区別した実約定価格。滑り分析には両方が必要。
5. 損切り計画計画SLと注文種類。普通SLは指定価格を保証しないため実出口約定は別記。
6. 利益出口計画使うなら予定目標、使わないなら代わりの出口規則。固定TPは全戦略の必須ではない。
7. 数量lotと実契約の通貨数量/lotを保存。名称だけで全銘柄・日本業者の仕様は決まらない。
8. 出口約定SL、TP、手動などの実決済約定。
9. 出口日時保有期間を計算する。時刻帯と入口日時を合わせる。
10. 純金額結果適用費用込みの純損益。実約定に含むスプレッドは二度引かない。

実契約と口座通貨記帳で純結果を計算します。手数料・保有調整は別記帳の場合があり、執行価格に入ったスプレッドを二度引きません。ECNという名から一律のEUR/lot料金は決まりません。

リスク5列:最初に分母を定義する

架空利益800 EUR/初期予定リスク400 EUR=2R、1,200/1,000=1.2R。数量の規模と払戻しを区別しますが、比率だけでどの戦略が良いか、実際に負った全リスクは分かりません。

11列目は初期金額リスク/明示した残高・equity参照値。パーセント書式なら再び100倍せず、通常数値を%で表すなら一度だけ100倍します。pip計算は契約・数量・換算を要します。12列目は純結果/正で有効な初期リスク:150/50 EUR=3R、−50/50=−1R。後のSL移動で初期分母を変えず、不明ならRも欠落にします。普通SLは損失保証ではありません。

13列目は有利方向の最大到達から出口までの利益返上を記録できます。+4Rの最高から+1R出口なら3R返上で、途中経路を要する最大ピーク・谷のドローダウンと必ず同じではありません。14列目は定義した比較可能な保有量、15列目は窓と方式付きの相関推定です。+0.90でも二建玉が同一や正確に二倍リスクとは限りません。

セットアップ5列:なぜ入ったかを時点付きで残す

種類、時間足、指定条件の重なり、指標予定、一定定義の入口時自己評価を記録します。結果前に残し、後で推測しません。状態点数と損失の関係だけで原因は分かりません。

16列目は定義済みリストのセットアップ種類。比較中は区分を安定させ、件数と不確実性を併記します。8〜10名称や合計100取引だけで信頼できる期待値推定は保証されません。

17列目は信号時間足、18列目は指定する複合条件です。平均、RSI、足形は同じ価格から情報が重なる場合があり独立と仮定しません。60・100取引だけで優れた時間足や勝率15〜20%増を保証しません。

19列目は指標予定と時刻帯。20列目は一貫した定義の自己評価1〜10などです。結果との関連と不確実性を調べ、4未満で普遍的に負の期待値とは判断しません。

執行レビュー5列:計画との比較を具体化する

最後は計画に対する執行の質を見ます。五列は遵守、逸脱数、一文の観察、画像リンク、月次タグです。

21列目は文書化した1〜10尺度などで規則遵守を記録し、許可した変更と逸脱を分けます。7未満の一点が必ず0.3Rを失うとか、90%の人に同じ関係があるとは仮定しません。

22列目は無許可の数量増や必須出口欠落など事前定義した逸脱数。証拠を残して結果を調べます。誤りと定義するだけで利益との統計関係は決まりません。

23列目は短い観察・質問です。「必要なH1確定前に入った」「計画+2Rに対し+0.8Rで出た。理由を調べる」など架空メモを規則と証拠へ結びます。利益ある逸脱も逸脱、正しい執行の損失も自動的に誤りではありません。

24列目は入口・出口画像へのリンク。クラウドフォルダーを使うならアクセス権と個人情報を確認します。25列目は「1月-NFP-逸脱」「2月-EURUSD-レンジ」等の月次タグ。25列に加える十指標は取引統計も参考にします。

ローカルIDには口座の範囲が必要

複数資料をまとめる際はIDの一意性がどの範囲か、重複処理後にどの行が残ったかを確認します。

図全体を見るには横にスクロール →

横にスクロールすると図全体を確認できます。

ローカルIDには口座の範囲が必要架空順序A/17+10、A/18−4、B/17+7 PLN、同一A/17+10の再インポート。口座とローカルIDの完全キーで同一性確認後に先頭を残す教材監査は三行+13 PLN。誤ってIDだけで先頭を残すとA/17とA/18の二行+6 PLNでB/17を失います。Power Queryや実業者IDにこの順序を保証していません。完全キーと残った記録を照合架空ローカルID・全結果PLN口座ローカルIDPLN処理A17+10残すA18−4残すB17+7残すA17+10再インポート口座+ID:3記録10 − 4 + 7 = 13 PLNIDのみ・先頭保持:2記録10−4=6 PLN・B/17消失

仮定:図の順序の四つの完全架空記録、通貨PLN、同一A/17再インポート。A・Bは別口座範囲。ローカルキーと残るコピーの点検で、実取引番号が全世界一意という意味ではありません。

このローカルIDは各架空口座内で一意です。実エクスポート資料の範囲は別に確認します。管理されたリストのA/17再インポートは同じ操作と結果、B/17は別操作です。

教材の決定的監査は供給順に口座・IDごとの最初を残し、除外前に同一性を確認します。A/17+10、A/18−4、B/17+7で+13 PLN。誤ったIDのみ方式はA二行+6 PLNで有効なB/17を失います。

MicrosoftのPower Query説明は複数列での比較を扱いますが、どの重複を残すかや先頭保持を一般に保証しません。本稿の先頭保持は教材監査の規則です。同じ完全キーで値が違うなら、同一再インポートと捨てず競合を調べます。

口座Bの17は口座Aの17とは別記録。

表計算・TraderSync・Edgewonk:要件で選ぶ

表計算は列と式を制御できます。実ライセンス、使える機能、インポート手順を確認し、Excelを普遍的に無料としたり、有料製品がカスタマイズできないと考えたりしません。準備時間は要件と技能次第です。

既知データでインポート互換性、書出し、必要な集計、料金全体を比較します。TraderSyncは継続課金の複数プラン、Edgewonkは年契約を掲載しています。年間1,000件や固定の移行順は普遍的基準ではありません。通貨・税・更新・連携を契約前に確認します。

選択前に日誌の必要条件を比較
表計算ライセンス、式の制御、インポート・照合作業、書出し形式を確認。
TraderSync提供者の現プラン、対応するインポート方法、必要レポートを確認。
Edgewonk現行料金説明は年契約で、一度169 USDを払う永久利用ではない。最終通貨・税・更新条件を確認。
実際の確認既知標本を照合してから集計を信頼し、件数だけで移行しない。

VBA例:記録済み指標だけを集計する

次の例はTradesシートJ列の有効金額とL列R値を集計しDashboardへ書きます。初期リスク算出、通貨検証、操作重複除外、ピボット更新、メール送信はしません。一通貨の照合済み行を使い、有効ゼロ結果も件数に含めます。損失なしのPFは欠落。片方欠落、エラー、非数値は拒否します。実マクロ有効化前に独立に検査し、数値検査だけで日付・通貨・グループは検証できません。

Sub CalculateMetrics()
    Dim ws As Worksheet, lastRow As Long, i As Long
    Dim totalTrades As Long, countWins As Long
    Dim sumWins As Double, sumLosses As Double, sumR As Double
    Dim result As Double, rValue As Double
    Dim resultCell As Variant, rCell As Variant
    Dim resultText As String, rText As String
    Set ws = ThisWorkbook.Sheets("Trades")
    lastRow = Application.Max(ws.Cells(ws.Rows.Count, "J").End(xlUp).Row, _
        ws.Cells(ws.Rows.Count, "L").End(xlUp).Row)
    For i = 2 To lastRow
        resultCell = ws.Cells(i, 10).Value2
        rCell = ws.Cells(i, 12).Value2
        If IsError(resultCell) Then
            Err.Raise vbObjectError + 3, , "J列のエラー値:行 " & i
        End If
        If IsError(rCell) Then
            Err.Raise vbObjectError + 4, , "L列のエラー値:行 " & i
        End If
        If IsNull(resultCell) Then
            Err.Raise vbObjectError + 5, , "J列のNull結果:行 " & i
        End If
        If IsNull(rCell) Then
            Err.Raise vbObjectError + 6, , "L列のNull R:行 " & i
        End If
        resultText = Trim$(CStr(resultCell))
        rText = Trim$(CStr(rCell))
        If Len(resultText) > 0 Or Len(rText) > 0 Then
            If Len(resultText) = 0 Or Len(rText) = 0 Then
                Err.Raise vbObjectError + 1, , "結果またはR欠落:行 " & i
            End If
            If Not IsNumeric(resultCell) Then
                Err.Raise vbObjectError + 2, , "J列の非数値結果:行 " & i
            End If
            If Not IsNumeric(rCell) Then
                Err.Raise vbObjectError + 2, , "L列の非数値R:行 " & i
            End If
            result = CDbl(resultCell)
            rValue = CDbl(rCell)
            totalTrades = totalTrades + 1
            sumR = sumR + rValue
            If result > 0 Then
                sumWins = sumWins + result
                countWins = countWins + 1
            ElseIf result < 0 Then
                sumLosses = sumLosses + Abs(result)
            End If
        End If
    Next i
    With ThisWorkbook.Sheets("Dashboard")
        .Range("B2").Value = totalTrades
        If totalTrades > 0 Then
            .Range("B3").Value = countWins / totalTrades
            .Range("B4").Value = sumR / totalTrades
        Else
            .Range("B3:B4").Value = CVErr(xlErrNA)
        End If
        If sumLosses > 0 Then
            .Range("B5").Value = sumWins / sumLosses
        Else
            .Range("B5").Value = CVErr(xlErrNA)
        End If
        .Range("B6").Value = sumWins - sumLosses
    End With
    MsgBox "指標を計算しました:" & totalTrades & "取引。", vbInformation
End Sub

既知の小標本で入力・出力を照合した後だけ、確認済みルーチンをボタンに割り当てます。実行時間はブックと機械次第で、追加自動化には別実装・検査が必要です。

架空日誌:25列へ増やしても因果は別問題

Markという架空例は開始12,000 EUR、171取引で−4,200 EUR、35%損失です。簡略記録だけでは信頼できる区分情報がありません。

保存原資料から過去を分類できたと仮定します。創作48取引区分は−2,700 EUR、全4,200損失の約64.3%。各初期リスク100 EUR一定なら合計4,800 EUR、平均−2,700/(48×100)=−0.5625Rです。リスクが不均等なら金額合計/リスク合計はリスク加重比で算術平均Rではありません。

架空二年目は142取引+8,100 EUR、平均0.42R、PF1.94と割り当てます。勝ち91件なら約64%、一年目171件の80勝なら約47%。一年目の他の割当集計は−0.18R、PF0.71です。これらから各取引・数量は復元できず、監査された実績でもありません。区分除外は方針変更で、年の差からその因果効果は分離できません。

別のPLN例で利益100/初期リスク100=+1R、損失−1,000/リスク1,000=−1R。算術平均Rは0でも金額純合計−900 PLN。合計比−900/1,100≈−0.818はリスク加重平均Rで口座収益率ではありません。

区分探索は仮説を発見できますが、多数を試せば歴史的ノイズを選ぶ可能性もあります。元分析とデータ完全性を残し、変更規則は選択に使わなかった後の観測で評価します。すべての調査に25列は必須ではありません。

次に行う照合とレビュー

  1. 列の定義を明記する。中立的ファイル名、時刻形式、通貨規約を定め、不明は創作せず欠落にする。
  2. 式を監査する。単純な線形契約の価格損益は方向符号×(出口−入口)×通貨数量、契約規則で換算して別費用を加える。スプレッド二重控除なし。純R=純結果/初期金額リスク、予定リスク率=初期リスク/参照資本×100。
  3. 原資料20取引を小さな検査標本として照合する。約定、費用、通貨、IDをエクスポートと比較し、過去文脈は当時記録された分だけ使う。20行で安定した傾向は保証されない。
  4. 分母を定めた指標を作る。平均Rは有効Rの算術平均、PFは正結果合計/負結果合計の絶対値で損失なしは未定義。勝率は定義した有効決済全件を分母としゼロ結果も含める。
  5. 持続可能な頻度でレビューする。完全性、逸脱、候補仮説を点検し、学習支援と利益・能力の保証を区別する。

追加例:部分決済を独立した二取引として平均しない

別の架空円模型で、一つのアイデアJ17の初期金額リスクを1,000円とします。数量の25%を決済した純結果+600円、残る75%の純結果−200円なら、アイデア全体は+400円、初期分母に対して+0.4Rです。両純結果は配賦済み費用を含むと仮定し、同じ費用を再度引きません。

比較のため初期リスクを数量比で250円と750円へ配るという仮定を置くと、操作別Rは+2.4Rと−0.266667R。その算術平均は約+1.066667Rで、アイデアの+0.4Rとは違います。25%と75%でリスク加重すれば0.25×2.4+0.75×(−0.266667)≈0.4Rとなります。配賦はここで選んだ規則で実際のリスク経路ではありません。

J17をまとめた一つのアイデア行と、二つの決済操作の元記録を両方残します。二回の決済を二つの独立信号へ増やしたり、操作平均をアイデア平均と呼んだりしません。初期リスクが不明なら利益から後付けせずRを欠落にします。

一つのアイデアと二つの部分決済架空J17、初期リスク1,000円。純結果は費用込み。操作の初期リスク配賦は数量比25%・75%という別仮定。仮定に基づく計算最初の25%決済+600円/250円=+2.4R残り75%決済−200円/750円≈−0.266667Rアイデア全体+400円/1,000円=+0.4R
一つのアイデアと二つの部分決済. 架空J17、初期リスク1,000円。純結果は費用込み。操作の初期リスク配賦は数量比25%・75%という別仮定。

元の操作を保持し、一アイデアの結果と操作別の値を混同しません。初期分母は結果から後付けしないでください。

小さな画面では横にスクロールするか、図を拡大できます。数値と要点は下のテキストにも記載しています。

最初の25%決済
+600円/250円=+2.4R – 別信号ではなくJ17の一操作。
残り75%決済
−200円/750円≈−0.266667R – 単純な二操作平均は約+1.066667R。
アイデア全体
+400円/1,000円=+0.4R – 配賦リスク加重なら一致。操作算術平均とは別指標。

理解度を確認

練習の目安: 約2分.

A/17+10、A/18−4、B/17+7 PLNと同一A/17再インポート。完全キー監査で残すものは?

答えと解説を見る

正解です。口座とローカルIDを合わせ、同一A/17再インポートだけを除きます。

よくある質問

個人トレーダーに25列は多すぎませんか。
25は提案で最低数ではありません。調査したい問いに合う列と原操作を残します。結果・Rは有効入力から計算できますが、感情、遵守、相関、保有量には別定義や系列が必要です。欠落文脈は自動復元できず100取引でも信頼できる傾向は保証されません。
Excel、TraderSync、Edgewonk、myfxbookはどれから始めますか。
既知取引でインポート対応、書出し、必要列、式制御、現在の課金を比べます。一年待つ必要や件数で強制される有料化はありません。TraderSyncは継続プラン、Edgewonkは12か月課金。最終通貨、税、更新、実際のインポート互換性を確認します。
100取引後なら何が分かりますか。
区分分析は支援できますが固定件数で発見や原因を約束しません。群ごとの有効件数、欠落、費用、不確実性を示し定義を維持します。多数探索は歴史的に都合の良い区分を選べるため、元結果を残し変更を決めなかった後のデータで評価します。
Excelの完成テンプレートは何時間で作れますか。
インポート、グループ化、式、検査次第で4〜6時間や年間千件の上限はありません。小さい既知データで通貨・費用・初期リスクを照合します。平均Rは有効R平均、PFは正結果/負結果絶対和で損失なしは欠落。掲載例はその集計だけで全表更新やメール送信はしません。

出典と検証

  1. learn.microsoft.com

    内容の参考資料。記事に記載した範囲と前提を確認してください。

  2. learn.microsoft.com

    内容の参考資料。記事に記載した範囲と前提を確認してください。

  3. learn.microsoft.com

    内容の参考資料。記事に記載した範囲と前提を確認してください。

  4. tradersync.com

    内容の参考資料。記事に記載した範囲と前提を確認してください。

  5. edgewonk.com

    内容の参考資料。記事に記載した範囲と前提を確認してください。

計算例には前提条件を明記しています。現在の市場データや提供会社の取引条件の代わりにはなりません。

著者について

Jarosław Wasińskiはポーランドの編集者・市場アナリストです。2004年にMyBank.plを設立し、2007年から外国為替市場の分析に携わっています。