2026年10月10日更新|cTrader公式仕様確認
- cTrader CloudとVPSでLocalStorageはどうなる?cBotの保存・再起動・復元設計を解説
- 最初に知っておきたい用語
- cTrader Cloud・ローカルPC・VPSの違いを先に整理
- cTrader Cloudでは停止・再起動後のファイル保存を前提にしない
- ローカルPCではLocalStorageを停止・再起動後も利用できる
- VPSもcTraderを通常実行するならローカルPCと基本は同じ
- LocalStorageのInstance・Type・Deviceは何が違う?
- バックテストではLocalStorageがディスクへ保存されない
- 日付や週が変わっても保存した値は自動でリセットされない
- 口座番号や基準残高が変わった場合も確認する
- Cloud用cBotは「保存」より「復元」を重視する
- 外部サーバーへ保存すれば解決するとは限らない
- cTrader CloudとVPS・PCはどちらを選ぶべきか
- 実運用前に確認したいcBotの保存・再起動テスト
- AIでcBotを開発するときも保存・復元の確認は必要
- まとめ|Cloudは復元、VPS・PCは初期化まで設計する
cTrader CloudとVPSでLocalStorageはどうなる?cBotの保存・再起動・復元設計を解説
cTraderでcBotを開発するとき、意外と見落としやすいのがLocalStorageやファイル保存の扱いです。
同じcBotでも、cTrader Cloudで動かす場合と、ローカルPC・VPSで動かす場合では、保存したデータが再起動後にどうなるかが違います。
例えば、前回の計算結果、日次損失の基準値、ユーザー設定、現在の稼働状態などを保存するcBotです。
こうした情報を正しく管理していないと、再起動しただけで以前の設定が使えなくなったり、逆に古い情報が残ってしまったりする可能性があります。
cTrader Cloudでは、停止・再起動後に保存データが消えることを想定して設計する必要があります。
一方、ローカルPCやVPSでは、LocalStorageに保存した情報を停止・再起動後も利用できます。
そのため、Cloudでは「データが消えても元に戻せる仕組み」、PC・VPSでは「古いデータが残っていても正しく判断できる仕組み」が重要です。
私はMT4・MT5のEAやインジケーター、cTrader・cBot関連システムなどを、これまで200個以上開発・制作・検証してきました。
自動売買システムでは、売買条件を作ることだけでなく、停止・再起動・口座変更などが発生したときに、正しく動作を再開できることも大切です。
この記事では、cTraderの保存機能と再起動後の動作について、できるだけ分かりやすく解説します。
最初に知っておきたい用語
この記事ではcTraderの保存機能を説明するため、いくつか専門用語が登場します。
まずは次の言葉だけ知っておけば、内容を理解しやすくなります。
| 用語 | 簡単な意味 |
|---|---|
| cBot | cTraderで動く自動売買プログラム |
| cTrader Cloud | PCを起動しなくてもcBotを動かせる機能 |
| VPS | インターネット上で利用する仮想PC |
| LocalStorage | cBotの設定や計算結果を保存する機能 |
| インスタンス | 実際に起動しているcBotの1つの実行単位 |
| Scope | 保存した情報を利用できる範囲 |
| Equity | 含み損益を反映した口座資産額 |
LocalStorageは、cBotが前回の状態を覚えておくための仕組みです。
例えば「今日の損失はいくらか」「どの口座で動いているか」「前回どこまで処理したか」といった情報を保存できます。
ただし、保存した情報を次回起動時にも使えるかどうかは、cBotを動かす環境によって変わります。
cTrader Cloud・ローカルPC・VPSの違いを先に整理
cTraderでcBotを動かす場合、どの環境でも基本的な売買プログラムは同じように作れます。
しかし、保存機能を使う場合には、cBotを停止したあとに情報がどう扱われるかを確認する必要があります。
| 実行環境 | 保存データ | 必要な対策 |
|---|---|---|
| cTrader Cloud | 消失を想定 | 復元できる設計 |
| ローカルPC | ディスクへ保持 | 古い情報の確認 |
| VPS | VPS側へ保持 | 初期化条件の設定 |
PCとVPSは、LocalStorageを使う場合の基本的な動作が似ています。
どちらも保存した情報が残るため、同じcBotを停止して再び動かしたときに、以前の状態を引き継ぐことができます。
一方、Cloudでは、インスタンスが再起動したときに以前の保存ファイルが利用できるとは限りません。
cTrader Cloudは、PCを常時起動しなくてもcBotを動かせる便利な機能です。
ただし、Cloudで自動売買を継続できることと、Cloud内のファイルが停止・再起動後も残ることは同じ意味ではありません。
また、ここで説明する保存データとは、cBotがLocalStorageやJSON、CSVなどへ書き込んだ情報です。
cTraderの画面で確認する通常のログと、次回起動時にも利用する保存データは、分けて考える必要があります。
cTrader Cloudでは停止・再起動後のファイル保存を前提にしない
cTrader Cloudでは、インスタンスが停止・再起動すると、cBotが作成したファイルやフォルダーは削除されます。
2026年10月10日に確認したcTrader公式の「Cloud requirements」でも、Cloudインスタンスが停止または削除されると、その実行環境に割り当てられた情報は解放されると説明されています。
そのため、Cloud内に保存したファイルが次回起動時にも残っていることを前提にしてはいけません。
あるcBotが、その日の損失計算に必要な基準値をファイルへ保存していたとします。
稼働中は、その情報を使って正しく損失を計算できていたとしても、Cloudが停止・再起動したあとにファイルがなくなる可能性があります。
もしプログラムが「前回のファイルは必ず存在する」と考えて作られていると、正しい損失計算ができなくなるおそれがあります。
この問題を防ぐには、保存ファイルがなくても安全に起動できる仕組みが必要です。
例えば、現在の口座情報や取引履歴から、必要な計算結果を作り直す方法が考えられます。
日次損失の基準値やポジション管理の状態など、取引の安全性に関係する情報をCloud内のファイルだけで管理するのは危険です。
再起動後に情報がなくなった場合の処理まで用意しておきましょう。
Cloudではファイルの保存場所にも注意
cTrader Cloudでは、ファイル操作の方法にも条件があります。
公式ドキュメントでは、Cloud上のLocalStorageとファイル操作は、相対パスを指定する場合や、新しいフォルダーを最初から作成する場合に動作すると案内されています。
簡単にいうと、PC上の特定のフォルダーを指定したプログラムが、Cloudでも同じように動くとは限らないということです。
また、cTrader CloudはLinuxという環境で動作します。
そのため、Windows専用の画面機能や外部プログラムに依存するcBotは、そのままCloudで動かせない場合があります。
PCで正常に動いたcBotでも、Cloudへ移す前に保存処理や再起動後の動作を確認します。
売買条件だけでなく、ファイルを読み込めない場合にどう動くかまで試すことが重要です。
ローカルPCではLocalStorageを停止・再起動後も利用できる
ローカルPCでcTraderを動かす場合、LocalStorageはPC内の保存領域を利用します。
cTrader公式では、LocalStorageはcBotやインジケーターを停止したあとでも、以前の情報を利用するための機能として説明されています。
つまり、同じcBotを一度停止して再び起動しても、保存した情報を読み込めます。
cTraderの現在の仕様では、LocalStorageへ記録した情報は通常1分ごとに自動保存されます。
また、cBotインスタンスを停止するときにもデータが保存されます。
すぐに保存したい場合には、LocalStorage.Flush()という命令を使います。
例えば、注文が成立した直後や、損失管理の基準値を変更した直後などです。
このような重要な場面では、次の自動保存を待たずに記録しておく方法が考えられます。
LocalStorage.Reload()を使うと、ディスクに保存された情報を読み直せます。
ただし、まだ保存していない変更がある状態で読み直すと、その変更が失われる可能性があります。
重要な情報を扱う場合には、先にFlush()で保存してからReload()を使うなど、処理の順番にも注意が必要です。
VPSもcTraderを通常実行するならローカルPCと基本は同じ
Windows VPSへcTraderをインストールし、cBotを通常の方法で動かしている場合、LocalStorageの基本的な仕組みはローカルPCと同じです。
違いは、保存場所が自宅のPCではなく、VPS側のディスクになることです。
通常の永続ディスクを利用しているVPSなら、cTraderを再起動しても、保存した情報を引き続き利用できます。
ただし、VPSを新しいサーバーへ移行した場合や、ディスクを初期化した場合などは、以前の情報が利用できなくなることがあります。
例えば、前週の損失計算に使っていた情報が、そのまま月曜日まで残っているケースです。
cBotが古い値を新しい週の情報として利用してしまうと、正しい計算ができません。
Cloudではデータが消える場合への備えが大切ですが、PC・VPSでは反対に、以前のデータをいつ使い、いつ初期化するかを決める必要があります。
LocalStorageのInstance・Type・Deviceは何が違う?
LocalStorageには、保存した情報をどこまで共有するかを決める仕組みがあります。
これをScope(スコープ)と呼びます。
少し難しく聞こえますが、簡単にいうと「誰がその保存データを使えるのか」を決める設定です。
| Scope | 利用できる範囲 | 容量上限 |
|---|---|---|
| Instance | 特定の実行単位 | 10MB |
| Type | 同じ種類のcBot | 100MB |
| Device | 同じデバイス内 | 500MB |
例えば、同じcBotを複数のチャートで動かす場合を考えてみます。
Instanceを使えば、それぞれのcBotが自分専用の情報を保存できます。
一方、Typeを使うと、同じ種類のcBot間で情報を共有できます。
Deviceはさらに範囲が広く、同じデバイス上の異なるcBotやインジケーターからも利用できます。
保存するときと読み込むときで動作が違う
ここは少し注意が必要です。
LocalStorage.SetString()やSetObject()で保存範囲を指定しなかった場合、基本的にはInstanceへ保存されます。
一方、GetString()やGetObject()で保存範囲を指定せずに読み込む場合は、次の順番で情報を探します。
Instance → Type → Device
最初に見つかった情報が使われるため、同じ名前のデータを複数の場所へ保存していると、思っていた値と違うものを読み込む可能性があります。
InstanceとDeviceの両方にDailyBaseが保存されていたとします。
Scopeを指定せずに読み込むと、Instance側の情報が優先されます。
日次損失のような重要な情報では、どのScopeから読み込むかを明確にしておいた方が安心です。
また、以前のcBotインスタンスを削除して新しいものを作った場合、同じcBotでも以前のInstance領域をそのまま使えるとは限りません。
「保存したはずなのに読み込めない」という問題が起きたときは、ファイルが消えたのか、それとも違う保存場所を見ているのかを確認してください。
バックテストではLocalStorageがディスクへ保存されない
cTraderのバックテストでは、LocalStorageの扱いがリアルタイム運用と異なります。
バックテストやパラメーターの最適化中は、LocalStorageの情報がメモリ上だけで処理されます。
つまり、売買のバックテストが正常に終了しても、PCへ正しく保存できることや、再起動後に以前のデータを読み込めることまで確認できたわけではありません。
例えば、cBotを停止して再起動したときに、前回の情報を正しく読み込めるかどうかです。
ほかにも、PCを再起動した場合、保存ファイルが見つからない場合、古い情報が残っていた場合などがあります。
これらは、実際のリアルタイム環境で確認する必要があります。
これ、バックテストだけ見ていると気づきにくいんですよね。
私なら、売買ロジックのバックテストとは別に、停止・再起動・保存・復元の動作確認を行います。
バックテストの結果が良くても、再起動時のリスク管理が正しく動かなければ、実運用では想定外の注文につながる可能性があります。
特にプロップファーム向けcBotでは、日次損失や最大損失の管理まで含めて確認することが重要です。
日付や週が変わっても保存した値は自動でリセットされない
例えば、1週間単位で損益を集計するcBotを考えてみます。
金曜日にLocalStorageへ計算結果を保存し、cBotを停止したとします。
月曜日に同じcBotを起動すると、PCやVPSでは金曜日の情報がそのまま残っている可能性があります。
LocalStorageには、日付や週が変わったからといって、自動で損益をリセットする機能があるわけではありません。
計算結果だけでなく、その情報がいつのものなのかも一緒に保存します。
起動時に現在の日付や週と比較し、同じ期間なら以前の情報を利用します。
期間が変わっていれば、新しい期間の計算へ切り替えます。
ただし、プロップファームの日次損失管理では、日本時間の午前0時が必ずリセット時刻になるとは限りません。
会社ごとに決められた基準時刻や計算方法があります。
そのため、単純にPCの日付が変わったかどうかだけではなく、利用するプロップファームのルールに合ったタイミングで切り替える設計が必要です。
口座番号や基準残高が変わった場合も確認する
プロップファーム向けのcBotでは、口座変更も重要なポイントです。
例えば、チャレンジの次の段階へ進んだ場合や、新しい口座を発行した場合です。
また、報酬の受け取りなどによって口座残高が変わり、以前のリスク管理基準を見直す必要が生じる場合もあります。
このとき、以前の口座情報をそのまま新しい口座へ引き継いでよいとは限りません。
| 保存情報 | 起動時の確認 | 対応 |
|---|---|---|
| 口座ID | 前回と同じか | 違えば再判定 |
| 基準残高 | 現在と一致するか | 必要なら再取得 |
| 対象期間 | 切り替わったか | 基準を更新 |
| ユーザー設定 | 引継ぎ可能か | 個別に判断 |
例えば、ロット設定や表示色などは、新しい口座でも引き継げるかもしれません。
しかし、日次損失の基準値や以前の口座に関係する計算結果は、そのまま利用すると問題になる可能性があります。
私ならcBotの起動時に、口座ID、基準残高、対象期間などを確認します。
現在の口座に合わない情報を読み込まないようにすることで、以前の口座のデータが混ざる問題を防ぎやすくなります。
プロップファームの出金後にリスク管理をどう見直すかについては、 プロップファーム出金後のEA・cBotのリスク管理 でも詳しく解説しています。
Cloud用cBotは「保存」より「復元」を重視する
cTrader Cloud向けcBotで私が特に重視するのは、保存データがなくなっても安全な状態へ戻せることです。
例えば、日次損失を管理するプログラムなら、基準値をファイルへ保存するだけでは十分ではありません。
保存したファイルがなくなった場合に、現在の口座情報や取引履歴から必要な情報を調べ直す仕組みを用意します。
| cTraderの情報 | 確認できる内容 |
|---|---|
| Account | 現在の残高・有効証拠金 |
| History | 過去に決済した取引 |
| Positions | 現在保有しているポジション |
| Transactions | 取得可能な口座取引情報 |
こうした情報を組み合わせることで、保存データがなくても、ある程度の状態を復元できる場合があります。
ただし、すべての情報を完全に再現できるとは限りません。
例えば、過去の特定時刻における有効証拠金は、当時の保有ポジションや価格などが必要になるため、現在の残高だけでは正確に分からない場合があります。
重要なリスク管理情報を正しく確認できないときは、新しい注文を停止して確認を待つ方法が安全です。
このように、異常が発生した場合に安全側へ動作を切り替える考え方をFail Safe(フェイルセーフ)と呼びます。
プロップファームでは、日次損失制限や最大損失制限を超えると、評価に失格する可能性があります。
そのため、売買ロジックが正常に動いていても、リスク管理が正しい状態で再開できなければ意味がありません。
Fundoraを例にした具体的な考え方は、 FundoraのcBotで日次損失を管理するCloud再起動後の復元設計 で詳しく解説しています。
外部サーバーへ保存すれば解決するとは限らない
Cloud内のファイルが消えるなら、外部のサーバーへ保存すればよいと考える方もいると思います。
しかし、ここにも注意点があります。
2026年10月10日時点のcTrader公式Cloud requirementsでは、Algo APIのHTTP機能について、CloudではHTTPリクエストが送信されないと案内されています。
つまり、PCでは外部のWebサービスと通信できたcBotでも、Cloudで同じように動くとは限りません。
外部サービスへ情報を送る仕組みを作るなら、Cloudで利用できる通信方法や制限を確認する必要があります。
例えば、Web APIとの通信、外部データベースへの保存、Windows専用プログラムとの連携などが必要な場合です。
こうした仕組みを多く使うcBotでは、VPS上でcTraderを通常実行する方が構成を作りやすいことがあります。
cTrader CloudとVPS・PCはどちらを選ぶべきか
cTrader CloudとVPS・ローカルPCは、どちらかが必ず優れているというものではありません。
使いたいcBotの機能と、保存データの管理方法によって選びます。
PCを常時起動しなくてよい
- 保存設計
- 消失を想定
- 再起動
- 復元処理が重要
- 外部連携
- 制約あり
- 向いている構成
- Cloud対応cBot
通常のデスクトップ環境で実行
- 保存設計
- 継続利用
- 再起動
- 古い情報を確認
- 外部連携
- 比較的柔軟
- 向いている構成
- 外部連携型cBot
例えば、外部のデータベースやWindows用ツールを利用せず、cBot単体で運用するならCloudは便利です。
一方、複数のプログラムを連携させる場合や、独自の保存システムが必要な場合はVPSも検討できます。
ただし、VPSにはWindowsの更新、再起動、ネットワーク障害などの管理が必要です。
Cloudを選ぶ場合も、停止後にどう復元するかという問題は残ります。
利用するプロップファームによって、EA・cBotの利用条件、対応プラットフォーム、VPS、コピー取引などのルールが異なります。
そのため、CloudやVPSの使いやすさだけでなく、利用規約や損失制限も確認する必要があります。
cTrader Cloudの利用環境については、 cTrader CloudでcBotを動かす場合のFundora・Fintokei・PipFarmの比較記事 も参考にしてください。
実運用前に確認したいcBotの保存・再起動テスト
LocalStorageを利用するcBotは、実際に動かす環境で停止・再起動テストを行うことが大切です。
バックテストでは問題がなくても、ファイルが消えたり、以前の情報が残ったりすると、実運用で動作が変わる可能性があります。
| テスト | Cloud | PC・VPS |
|---|---|---|
| 停止→再起動 | 復元を確認 | 継続を確認 |
| 保存データなし | 再構築 | 新規作成 |
| 日付変更 | 基準を再判定 | 古い値を更新 |
| 口座変更 | 口座情報を取得 | 旧情報を除外 |
| cBot更新 | 再起動後を確認 | 互換性を確認 |
特にプロップファーム向けcBotなら、日次損失の基準値が正しいか、現在のポジションを認識できるかを確認します。
複数のcBotを同じ口座で動かす場合は、それぞれが出した注文を含めて、口座全体の損失を管理できるかも重要です。
例えば、1つのcBotだけを見れば許容損失内でも、複数のcBotが同時に損失を出せば、口座全体の制限に近づく場合があります。
保存情報が正しく読み込めない場合や、現在の損失額を確認できない場合には、新しい注文を出さない設計が重要です。
さらに、停止中の既存ポジションをどう管理するかも決めておく必要があります。
単純にプログラムを止めるだけでは、すでに保有しているポジションのリスクがなくなるわけではありません。
AIでcBotを開発するときも保存・復元の確認は必要
最近はChatGPTなどの生成AIを利用して、cBotのコードを作ることもできます。
以前と比べてプログラムを作る作業は進めやすくなりました。
しかし、AIが生成したコードだからといって、Cloud停止や口座変更など、すべての状況に対応できているとは限りません。
特に保存機能では、通常どおり動いているときには問題が見つからず、再起動したときに初めて不具合が分かることがあります。
私は、売買処理の確認だけでなく、保存ファイルが存在しない場合、以前の口座情報が残っている場合、日付が変わった場合なども確認するようにしています。
こうした条件を具体的に伝えることで、AIによるコードレビューや修正にも役立ちます。
EA・インジケーターなどを200個以上開発・制作・検証してきましたが、状態を引き継ぐシステムでは、売買条件そのものより、停止・再起動後の処理が複雑になることもあります。
AIは開発の助けになりますが、最後は実際の環境で正しく動くかを確認することが欠かせません。
まとめ|Cloudは復元、VPS・PCは初期化まで設計する
cTraderでcBotを動かすときは、CloudとVPS・ローカルPCの保存機能の違いを理解しておくことが重要です。
cTrader Cloudでは、停止・再起動後に保存ファイルが残ることを前提にできません。
そのため、保存データがなくても必要な状態を復元できる仕組みを作ります。
一方、ローカルPCやVPSではLocalStorageの情報が残るため、古い期間や以前の口座のデータをそのまま利用しないように注意が必要です。
Cloudは「消えても復元できる設計」。VPS・PCは「残っていても正しく初期化できる設計」。
この違いを最初に決めておくことで、停止・再起動時のトラブルを減らしやすくなります。
また、バックテストで正常に動いたからといって、実運用の保存処理まで確認できたわけではありません。
実際にcBotを使う前には、停止・再起動、口座変更、日付変更、保存データの消失などを確認してください。
特にプロップファーム向けの自動売買では、損失管理の情報が正しいことを確認できないまま、新しい注文を出さない設計が大切です。
cTrader Cloud、LocalStorage、ファイル操作、外部通信の仕様は変更される可能性があります。
EA・cBotの稼働前にはcTrader公式ドキュメントを確認し、利用する環境で停止・再起動テストを行ってください。
プロップファームを利用する場合は、各社の日次損失、最大損失、自動売買、禁止取引などのルールも合わせて確認しましょう。
cTrader対応のプロップファームを確認する
cTraderやcBotを利用する場合、プロップファームによって対応環境や自動売買ルールが異なります。
チャレンジへの参加を検討する場合は、現在利用できるプラットフォーム、cBotの利用条件、損失ルールなどを公式サイトで確認してください。
※本欄にはPR・アフィリエイトリンクを含みます。
※各社の料金、プラン、取引条件、EA・cBot利用条件は変更される場合があります。利用前に必ず公式サイトで最新情報をご確認ください。
記事に関する注意事項
本記事は2026年10月10日時点で確認できるcTrader公式ドキュメント、および筆者のEA・cBot・システム開発経験をもとに作成しています。
cTrader Cloud、LocalStorage、ファイル操作、外部通信の仕様は変更される可能性があります。利用前には最新の公式ドキュメントをご確認ください。
本記事は自動売買システム開発に関する情報提供を目的としたものであり、投資助言・売買推奨ではありません。
FX・プロップファームには損失や参加費用等が発生する可能性があります。EA・cBotの利用によって利益やチャレンジ合格、報酬の受け取りが保証されるものではありません。
取引やサービス利用の最終判断はご自身の責任で行ってください。

