建値・建値決済・ブレイクイーブンとは|EAのBE機能で確認する基本用語
建値とは、ポジションを建てた価格、つまりエントリー価格のことです。
建値決済とは、保有中のポジションをエントリー価格付近で決済することを指します。英語ではブレイクイーブン、またはBreak Evenと表記され、EAの設定画面ではBE、BreakEven、BE Start、BE Lockなどの名前で表示されることがあります。
EAでは、一定以上含み益が出た後に、損切りラインを建値付近へ移動する機能として使われることがあります。これを「BE機能」「建値移動」「建値SL移動」と呼ぶ場合があります。
ただし、建値にSLを移動したからといって、必ず損益が完全に0になるとは限りません。スプレッド、手数料、スワップ、スリッページ、約定価格のズレにより、微益または微損になる場合があります。
この記事では、建値、建値決済、ブレイクイーブン、EAのBE機能について、MT4/MT5、GOLD / XAUUSD、バックテスト、EAログで確認する基本項目を整理します。
なお、この記事はEA設定や検証時に用語を確認するための内容です。特定の売買判断、推奨エントリー、推奨ロット、推奨SL/TP、利益保証を行うものではありません。
この記事で確認すること
| 用語 | 意味 | EAで確認する項目 |
|---|---|---|
| 建値 | ポジションを建てた価格です。 | open_price、entry_priceを確認します。 |
| 建値決済 | エントリー価格付近で決済することです。 | 決済価格、スプレッド、手数料を確認します。 |
| ブレイクイーブン | 損益がほぼゼロになる状態を指します。 | BE開始条件、SL移動条件を確認します。 |
| BE機能 | 一定利益後にSLを建値付近へ移動するEA機能です。 | BE Start、BE Lock、BE Stepを確認します。 |
| ロック幅 | 建値より少し有利側へSLを置く幅です。 | BE Lock、Lock Points、Profit Lockを確認します。 |
建値とは
建値とは、ポジションを持った時の価格です。BUYポジションであれば買った価格、SELLポジションであれば売った価格を指します。
MT4/MT5の取引履歴やポジション一覧では、建値は「価格」「始値」「Open Price」などの項目で確認できます。EAログでは、entry_price、open_price、position_price、price_openなどの名前で出力されることがあります。
| 表記例 | 意味 | 確認内容 |
|---|---|---|
| Open Price | ポジションの建値です。 | 実際に約定した価格を確認します。 |
| Entry Price | エントリー価格です。 | 注文時の想定価格と約定価格を分けて確認します。 |
| price_open | MT5上のポジション建値です。 | PositionGetDoubleで取得される値を確認します。 |
| avg_price | 平均建値です。 | 複数ポジション時の平均価格を確認します。 |
| basket_avg_price | バスケット全体の平均建値です。 | ナンピンEAや複数ポジションEAで確認します。 |
建値決済とは
建値決済とは、保有中のポジションを建値付近で決済することです。
たとえば、BUYポジションを持った後に価格が上がり、その後戻ってきた時、エントリー価格付近で決済される状態を建値決済と呼びます。SELLポジションの場合は、売った価格付近で買い戻すイメージです。
ただし、建値決済は「必ず損益ゼロ」という意味ではありません。実際の口座では、スプレッド、手数料、スワップ、スリッページ、約定価格差があるため、結果が微益または微損になる場合があります。
| 差が出る原因 | 内容 | 確認ポイント |
|---|---|---|
| スプレッド | BUYとSELLの価格差です。 | 建値付近でも実決済価格がずれる場合があります。 |
| 手数料 | 取引ごとに発生する費用です。 | 手数料込みではマイナスになる場合があります。 |
| スワップ | 日をまたいだ保有で発生する調整額です。 | 建値決済でも損益に影響する場合があります。 |
| スリッページ | 注文価格と約定価格のズレです。 | 急変時に予定価格と違う決済になる場合があります。 |
| 約定タイミング | サーバーへ注文が通るタイミングです。 | EAログの時刻と約定履歴を照合します。 |
ブレイクイーブンとは
ブレイクイーブンとは、損益がほぼゼロになる状態を指します。EAでは、Break Even、BE、BE機能と表記されることが多いです。
EAのBE機能では、含み益が一定以上になった後、SLを建値付近へ移動します。これにより、価格が戻った時に大きな損失へ戻りにくくする設計として使われることがあります。
| 設定名の例 | 意味 | 確認内容 |
|---|---|---|
| UseBreakEven | BE機能を使うかどうかです。 | ON/OFFを確認します。 |
| BEStart | BEを開始する含み益幅です。 | 何pointまたは何pipsで発動するか確認します。 |
| BELock | 建値より有利側へ置く幅です。 | 微益ロックか建値ぴったりか確認します。 |
| BEStep | BE判定やSL更新の段階幅です。 | 一度だけ動くのか段階更新か確認します。 |
| BEOffset | 建値からずらす幅です。 | 手数料・スプレッド考慮の有無を確認します。 |
| BreakEvenAfter | 何pips利益後にBEへ移動するかです。 | 発動条件を確認します。 |
EAのBE機能で起きる処理
EAのBE機能は、多くの場合、既存ポジションのSLを変更する処理です。新規注文ではなく、保有中ポジションに対する修正処理として考えます。
MT5では、ポジションの建値、現在価格、SL、TP、スプレッド、StopLevel、FreezeLevelなどを確認し、条件を満たした場合にSL変更リクエストを送ります。
| 処理段階 | 確認内容 | EAログ例 |
|---|---|---|
| ポジション確認 | 対象ポジションがあるか確認します。 | BE_CHECK position_found=Y |
| 建値取得 | open_priceを確認します。 | entry_price=xxxx |
| 現在価格確認 | Bid / Askを確認します。 | bid=xxxx ask=xxxx |
| 発動幅確認 | BEStartに達したか確認します。 | be_start_hit=Y |
| 新SL計算 | 建値またはロック幅込みのSLを計算します。 | new_sl=xxxx |
| ブローカー制約確認 | StopLevelやFreezeLevelを確認します。 | stop_level_check=OK |
| SL変更送信 | ポジション修正を送信します。 | BE_MODIFY_SEND |
| 変更結果確認 | retcodeやGetLastErrorを確認します。 | BE_MODIFY_OK / BE_MODIFY_FAIL |
BUYとSELLでBE位置は変わる
BE機能では、BUYとSELLで有利方向と不利方向が逆になります。
BUYの場合は、建値より上へ価格が進んだ後、SLを建値付近へ引き上げます。SELLの場合は、建値より下へ価格が進んだ後、SLを建値付近へ引き下げます。
| 方向 | 有利方向 | BE時のSL移動 |
|---|---|---|
| BUY | 価格上昇 | SLを建値付近または建値より少し上へ移動します。 |
| SELL | 価格下落 | SLを建値付近または建値より少し下へ移動します。 |
EAログを確認する時は、BUYとSELLで計算方向が逆になっているかを確認します。方向の扱いを誤ると、SLが不適切な位置へ置かれたり、ブローカー制約で修正失敗したりする場合があります。
BE StartとBE Lockの違い
BE StartとBE Lockは混同されやすい設定です。
BE Startは「どれくらい含み益が出たらBE機能を開始するか」です。BE Lockは「建値からどれくらい有利側へSLを置くか」です。
| 設定 | 意味 | 確認例 |
|---|---|---|
| BE Start | BE機能を発動する利益幅です。 | 含み益が300pointに達したらBE判定する |
| BE Lock | 建値から有利側へずらす幅です。 | 建値より50point有利側へSLを置く |
| BE Offset | 建値からの補正幅です。 | 手数料やスプレッドを考慮してずらす |
| BE Step | 段階的にSLを動かす幅です。 | 一度だけか、段階的に追従するか確認する |
たとえば、BE Startが300point、BE Lockが50pointの場合、含み益が300pointに達した後、SLを建値から50point有利側へ移動する設計として扱われることがあります。
建値決済でも損益が0にならない理由
建値決済やBE機能は、損益を完全に0へ固定する機能ではありません。
実際の決済では、口座タイプ、スプレッド、手数料、スワップ、約定価格、サーバー処理、相場急変などが影響します。そのため、建値付近の決済でも損益が少しプラスまたはマイナスになる場合があります。
| 項目 | 影響 | 確認方法 |
|---|---|---|
| スプレッド | BUY決済とSELL決済で実価格が変わります。 | 決済時のBid / Askを確認します。 |
| 手数料 | 建値決済でも手数料分が差し引かれます。 | 取引履歴のCommissionを確認します。 |
| スワップ | 日をまたぐと損益に加算または減算されます。 | Swap欄を確認します。 |
| スリッページ | 想定価格と約定価格がずれる場合があります。 | EAログと取引履歴を比較します。 |
| 約定タイミング | 価格急変時に予定と異なる価格で決済される場合があります。 | JournalログとExpertsログを確認します。 |
GOLD / XAUUSDで確認すること
GOLD / XAUUSDでは、point、digits、tick value、スプレッド、値幅が通貨ペアと異なる場合があります。
そのため、BE StartやBE Lockの数値が、価格上どれくらいの距離を意味するかを確認することが重要です。たとえば、同じ300pointでも、銘柄仕様やEA内部の計算単位によって、実際の価格幅の見え方が変わる場合があります。
| 確認項目 | 内容 | BE機能での注意点 |
|---|---|---|
| point | 最小価格変動単位です。 | BE StartやBE Lockの単位と一致しているか確認します。 |
| digits | 価格の桁数です。 | pips換算と混同しないよう確認します。 |
| tick value | 最小変動あたりの損益です。 | ロットごとの損益変化を確認します。 |
| スプレッド | BidとAskの差です。 | 建値付近のSLでも微損になる場合があります。 |
| StopLevel | 現在価格から注文・SLまでの最小距離です。 | SL変更が拒否される原因になります。 |
| FreezeLevel | 注文変更が制限される価格範囲です。 | 建値付近で変更できない場合があります。 |
ナンピンEAや複数ポジションEAでのBE
ナンピンEAや複数ポジションEAでは、単独ポジションの建値ではなく、平均建値を基準にBE機能を計算する場合があります。
この場合、どのポジションを対象にしているか、平均建値をどのように計算しているか、BUYとSELLを分けているか、マジックナンバーやロジックIDで分離しているかを確認します。
| 確認項目 | 内容 | 確認する理由 |
|---|---|---|
| 単独建値 | 1つのポジションのエントリー価格です。 | 単ポジEAではこの価格が基準になります。 |
| 平均建値 | 複数ポジションの平均価格です。 | ナンピンEAではこちらを基準にする場合があります。 |
| バスケットBE | 複数ポジション全体の建値付近決済です。 | 合計損益で見る設計か確認します。 |
| 対象マジック | どのEAポジションを対象にするかです。 | 他EAや手動ポジションを巻き込まないか確認します。 |
| 対象方向 | BUY / SELLのどちらを対象にするかです。 | 両建て時に混同しないか確認します。 |
| 対象ロジック | Logic1、Logic2などの管理単位です。 | 複数ロジックEAで誤決済を防ぐために確認します。 |
ナンピンEAのBE機能では、個別ポジションのSLではなく、バスケット全体の決済条件として動く場合があります。EAの仕様書、setファイル、ログで、単独建値基準なのか平均建値基準なのかを確認してください。
BE機能はバックテストとリアル運用ログで分けて確認する
建値決済やブレイクイーブン機能は、損益を固定的に保証するものではなく、EAがどの条件でSLを建値付近へ移動するか、または内部決済を行うかを確認するための機能です。
バックテスト上でBEが動いていても、リアル運用ではスプレッド、約定、サーバー時間、価格更新、stop levelなどの影響で挙動が変わる場合があります。
| 確認項目 | 見る内容 |
|---|---|
| BE開始条件 | 含み益、pips / point、到達価格、発動タイミングを確認する |
| SL移動条件 | 建値、建値プラス、stop level、freeze levelに引っかからないか確認する |
| バックテスト結果 | BE発動回数、決済価格、最大DD、取引履歴を確認する |
| リアル運用ログ | SL変更失敗、retcode、約定差、スプレッド拡大を確認する |
バックテストとリアル運用の差を確認する場合は、MT5でバックテストとリアル運用の違いを確認することを確認してください。
MQL5で発注前や注文変更前の確認を整理する場合は、MQL5でEAの発注前チェックを作る考え方、GOLD / XAUUSDのスプレッド影響を見る場合は、GOLD / XAUUSD対応EAのスプレッド確認ガイドも参考になります。
バックテストで確認すること
EAのBE機能は、バックテストで必ず発動状況を確認します。
単に最終損益を見るだけでは、BEが正しく動いたかは判断できません。BE発動回数、BE後の決済結果、SL変更失敗、StopLevelやFreezeLevelによる拒否、手数料込み損益を確認します。
| 確認項目 | 記録する内容 |
|---|---|
| EA名 | 使用したEA名を記録します。 |
| EAバージョン | BE機能の仕様が変わる可能性があるため記録します。 |
| 銘柄 | GOLD / XAUUSDなど対象銘柄を記録します。 |
| 時間足 | 検証した時間足を記録します。 |
| 検証期間 | 開始日と終了日を記録します。 |
| BE Start | BE発動幅を記録します。 |
| BE Lock | ロック幅を記録します。 |
| 発動回数 | BEが何回発動したか確認します。 |
| SL変更失敗 | modify failやretcodeを確認します。 |
| BE後の結果 | 建値付近で微益、微損、再伸長したかを確認します。 |
| 手数料込み損益 | Commission、Swapを含めて確認します。 |
EAログで確認したい項目
BE機能の確認では、Expertsログと取引履歴を照合します。
ログでは、BE条件に到達したか、SL変更を送信したか、ブローカーに受け付けられたか、失敗した場合の理由が追えることが重要です。
| ログ項目 | 確認内容 |
|---|---|
| BE_CHECK | BE判定が行われたか確認します。 |
| BE_TRIGGER | BE開始条件に到達したか確認します。 |
| entry_price | 建値を確認します。 |
| current_price | 現在価格を確認します。 |
| profit_points | 建値からの利益幅を確認します。 |
| be_start | BE発動条件を確認します。 |
| be_lock | 建値からのロック幅を確認します。 |
| old_sl | 変更前のSLを確認します。 |
| new_sl | 変更後のSLを確認します。 |
| stop_level | ブローカーの最小距離制限を確認します。 |
| freeze_level | 注文変更制限を確認します。 |
| BE_MODIFY_OK | SL変更が成功したか確認します。 |
| BE_MODIFY_FAIL | SL変更が失敗した理由を確認します。 |
| retcode | MT5側の取引結果コードを確認します。 |
| GetLastError | 必要に応じて補助エラーを確認します。 |
BE機能が動かない時の確認
BE機能が動いていないように見える場合は、まず設定とログを分けて確認します。
| 確認項目 | 内容 | 確認方法 |
|---|---|---|
| BE機能がONか | UseBreakEvenが有効か確認します。 | Inputsまたはsetファイルを確認します。 |
| 発動幅に達しているか | BE Startまで含み益が出たか確認します。 | profit_pointsログを確認します。 |
| 既にSLが有利側にあるか | 現在SLの方が有利なら変更不要の場合があります。 | old_slとnew_slを比較します。 |
| StopLevelに引っかかっていないか | 現在価格から近すぎるSLは拒否される場合があります。 | retcodeとstop_levelを確認します。 |
| FreezeLevelに入っていないか | 価格が近すぎて変更できない場合があります。 | freeze_levelログを確認します。 |
| 対象マジックが合っているか | EAが管理するポジションか確認します。 | magic、symbol、directionを確認します。 |
| 裁量ポジションを対象外にしていないか | 手動ポジションは対象外の場合があります。 | EA仕様とログを確認します。 |
確認順
| 順番 | 確認項目 | 確認内容 |
|---|---|---|
| 1 | 建値 | ポジションのエントリー価格を確認します。 |
| 2 | BE機能ON/OFF | UseBreakEvenやBE設定を確認します。 |
| 3 | BE Start | 発動する利益幅を確認します。 |
| 4 | BE Lock | 建値から有利側へ置く幅を確認します。 |
| 5 | 単位 | pips、point、価格差を確認します。 |
| 6 | スプレッド | 建値付近決済で微損になる可能性を確認します。 |
| 7 | 手数料・スワップ | 損益0にならない要因を確認します。 |
| 8 | ブローカー制約 | StopLevel、FreezeLevelを確認します。 |
| 9 | EAログ | BE_TRIGGER、BE_MODIFY_OK、BE_MODIFY_FAILを確認します。 |
| 10 | 取引履歴 | 実際のSL変更と決済結果を確認します。 |
実務チェック表
| チェック項目 | 確認内容 |
|---|---|
| 建値を確認した | Open Price、entry_price、price_openを確認します。 |
| BE機能のON/OFFを確認した | UseBreakEven、BreakEven、BE設定を確認します。 |
| BE Startを確認した | 何pointまたは何pipsで発動するか確認します。 |
| BE Lockを確認した | 建値から有利側へ何point置くか確認します。 |
| 単位を確認した | pips、point、digits、価格差を混同していないか確認します。 |
| スプレッドを確認した | 建値付近決済で微損になる可能性を確認します。 |
| 手数料とスワップを確認した | Commission、Swap込みで損益を確認します。 |
| StopLevelを確認した | SL変更が拒否される距離ではないか確認します。 |
| FreezeLevelを確認した | 価格が近すぎて変更できない状態ではないか確認します。 |
| 対象ポジションを確認した | symbol、magic、direction、logic_idを確認します。 |
| BEログを確認した | BE_CHECK、BE_TRIGGER、BE_MODIFY_OK、BE_MODIFY_FAILを確認します。 |
| バックテスト条件を保存した | EA名、バージョン、銘柄、時間足、期間、setファイルを保存します。 |
FAQ
建値とは何ですか?
建値とは、ポジションを建てた価格、つまりエントリー価格のことです。MT4/MT5ではOpen Priceやprice_openとして確認できます。
建値決済とは何ですか?
建値決済とは、エントリー価格付近でポジションを決済することです。ただし、スプレッド、手数料、スワップ、スリッページにより、完全な損益0にならない場合があります。
ブレイクイーブンとは何ですか?
ブレイクイーブンとは、損益がほぼゼロになる状態を指します。EAではBEやBreakEvenとして表示されることがあります。
EAのBE機能とは何ですか?
EAのBE機能とは、一定以上の含み益が出た後に、SLを建値付近へ移動する機能です。BE Start、BE Lock、BE Stepなどの設定を確認します。
建値にSLを置けば必ず損益0になりますか?
必ず0になるとは限りません。スプレッド、手数料、スワップ、スリッページ、約定価格差により、微益または微損になる場合があります。
GOLD / XAUUSDでBE機能を見る時の注意点はありますか?
point、digits、tick value、スプレッド、StopLevel、FreezeLevelを確認します。BE StartやBE Lockの数値が実際の価格幅としてどれくらいかを確認してください。
関連ページ
| 関連ページ | 確認目的 |
|---|---|
| FX用語辞典 | EA・MT4/MT5を使う前に確認したいFX用語全体を確認します。 |
| SLとTPとは | EAの損切り、利確、SL移動、内部決済の基本を確認します。 |
| EAのナンピンとは | 複数ポジション時の平均建値、追加エントリー、バスケット管理を確認します。 |
| マーチン・グリッドとは | 複数ポジションEAでのバスケットBEや平均建値管理を確認します。 |
| FXのスプレッドとは | 建値決済でも微益・微損になる理由や取引コストを確認します。 |
| EAログとは | BE_CHECK、BE_MODIFY、close_reasonなどのログ確認に使います。 |
まとめ
建値とは、ポジションを建てた価格です。建値決済とは、そのエントリー価格付近で決済することです。ブレイクイーブンは、損益がほぼゼロになる状態を指します。
EAのBE機能では、一定以上の含み益が出た後に、SLを建値付近へ移動することがあります。設定では、BE Start、BE Lock、BE Step、BE Offsetなどを確認します。
ただし、建値決済やBE機能は、必ず損益を完全に0へ固定するものではありません。スプレッド、手数料、スワップ、スリッページ、約定価格差により、微益または微損になる場合があります。
GOLD / XAUUSDやナンピンEA、複数ポジションEAでは、単独建値、平均建値、バスケットBE、point、digits、StopLevel、FreezeLevel、EAログを分けて確認してください。
