先物プロップで自動売買する方法|NinjaTrader・TradingView・APIの3通りと、FTMO Futures で bot を動かすまでの手順【2026年9月】
※ 各社のルールは2026年9月21〜25日に公式ヘルプで確認した内容です(詳細は先物プロップ28社の自動売買ルール総点検)。手順の節は、当サイト運営者が2026年9月に FTMO Futures の評価口座で実際に行った作業です。口座番号と戦略の中身は載せていません。
📢 広告・アフィリエイト開示:当サイトは先物系ファームの提携リンクを保有していません。本記事のリンクは公式サイトへの通常リンクです。
TL;DR
- 先物プロップには MT4/MT5 がない。EA はそのままでは動かないので、NinjaTrader(NinjaScript)・TradingView+中継サービス・API のどれかで作り直す
- いちばん素直なのは NinjaTrader。口座に直接つながり、PC か VPS で動かしっぱなしにできる。言語は C#
- ファームは「自動売買を明文で許可」かつ「VPS を明文で許可」で選ぶ。両方そろうのは FTMO Futures と FundedNext Futures
- Topstep は bot 可だが API 経由・自宅 PC 限定・ライブ口座では不可。Apex は2026年3月から自動売買禁止
- コードで詰まるのは 足の時刻・タイムゾーン・強制決済の時刻・限月の切り替えの4つ
仕組み:先物プロップの口座はどこにつながっているか
FX プロップは「ファームが用意した MT5 サーバー」にログインします。先物プロップは違い、ファームが Tradovate・Rithmic などの接続に口座を作り、トレーダーはその接続に対応したプラットフォームから発注します。
| 接続 | 主なファーム | 対応プラットフォーム(自動売買に使うもの) |
|---|---|---|
| Tradovate / CQG | FTMO Futures・FundedNext Futures・MFFU・Tradeify・E8 Futures・Lucid Trading(CQG 口座) | NinjaTrader、TradingView(自動化は中継サービス経由) |
| Rithmic | Bulenox・Lucid Trading(Rithmic 口座) | NinjaTrader(Bulenox)、Quantower、Sierra Chart、MultiCharts ほか |
| TopstepX(ProjectX) | Topstep | TopstepX API |
自動売買ができるかは「ファームの規約」と「プラットフォームの機能」の両方で決まる、というのが FX との大きな違いです。
自動売買の3つの方式
| 方式 | 動く場所 | 言語 | 向いている人 | 注意 |
|---|---|---|---|---|
| ① NinjaTrader の NinjaScript | 自分の PC か VPS(NinjaTrader を起動しっぱなし) | C# | MT5 の EA を移植したい人。時間・価格の条件で売買する bot | PC・VPS が止まると bot も止まる |
| ② TradingView のアラート+中継サービス | TradingView のサーバー → 中継サービス(PickMyTrade・TradersPost など) → 口座 | Pine Script | すでに Pine で戦略を書いている人 | TradingView はアラートを出すだけで、発注は中継サービスが担う。月額が二重にかかり、ファームによっては別料金(Bulenox は第三者 API 接続で月 $100)。中継サービスを使ってよいかはファームごとに確認が要る |
| ③ API | 自分で書いたプログラム | Python など自由 | 仕組みを全部自分で持ちたい人 | Tradovate の API はプロップ口座では使えない(後述)。実質 Topstep の TopstepX API(月 $29、シム口座のみ)か、Bulenox の Rithmic 接続(月 $100) |
Tradovate の API は、プロップの口座では使えません。Tradovate の公式ヘルプ「Tradovate API Access」(2026年9月16日更新)に「Prop firm and evaluation accounts are not eligible for API access」と明記されており、API を使うには残高 $1,000 以上の自己資金口座と月 $25 のアドオンが必要です。FTMO Futures や MFFU のような Tradovate 系のファームで「自分でプログラムを書いて発注する」は、この方式ではできません。
MT5 の EA を持っている人は ① がいちばん近いです。「この時間に建てて、この時間に閉じる」「SL は何ドル」という EA なら、ロジックはほぼそのまま C# に書き直せます。
方式ごとに使えるファーム
| ファーム | 自動売買 | NinjaTrader | TradingView | API | VPS |
|---|---|---|---|---|---|
| FTMO Futures | ⭕ 明文で許可(自作前提) | ⭕ | ⭕ | — | ⭕ 明文で許可 |
| FundedNext Futures | ⭕ 明文で許可 | ⭕ | ⭕ | — | ⭕ ヘルプで許可(規約は IP 変更に事前承認が必要と書いており、IP は固定が安全) |
| MyFundedFutures | ⭕ 自分の設定の戦略なら可 | ⭕ | ⭕ | — | 記載なし |
| Lucid Trading | ⭕ 可 | ⭕(CQG 口座) | ⭕(CQG 口座) | — | 記載なし |
| Bulenox | ⭕ 自作のみ(市販・共有は不可) | ⭕(Rithmic) | 中継経由は月 $100 | 同左 | 記載なし |
| Topstep | ⭕ API 経由のみ | — | — | ⭕ 月 $29・ライブ不可 | ✕ 自宅 PC 限定 |
| Apex | ✕ 2026年3月から禁止 | — | — | — | — |
24時間動かすなら VPS に置くのが普通なので、VPS を明文で許可している FTMO Futures と FundedNext Futures が第一候補です。料金と期待値の比較はFTMO Futures の期待値・FundedNext Futures の期待値を参照してください。
手順:FTMO Futures で NinjaTrader の bot を動かすまで
当サイト運営者が、MT5 で動かしていた金の時間帯 EA を NinjaTrader に移して、FTMO Futures の Pro $50K 評価口座で動かしたときの手順です。
| # | やること | ポイント |
|---|---|---|
| 1 | FTMO Futures のチャレンジを買う | プラットフォームは NinjaTrader / Tradovate / TradingView が自動で使える状態になる |
| 2 | NinjaTrader 8 をインストールし、クライアントエリアに出ている NinjaTrader のログイン情報でログイン | 別にライセンスを買う必要はなかった |
| 3 | 市場データの同意書に答える | 個人は Non-Professional(非プロ) を選ぶ。プロ扱いになると市場データ料が高くなる |
| 4 | Control Center の Accounts タブに FTMO の口座が出ているか確認 | 接続(Tradovate)が緑の Connected になっていること |
| 5 | 戦略の .cs を Documents\NinjaTrader 8\bin\Custom\Strategies\ に置き、NinjaScript Editor で F5(コンパイル) | エラー一覧が空なら OK |
| 6 | Strategy Analyzer でバックテストし、MT5 の結果と1回ずつ突き合わせる | 運営者の例では1年分207回が全部対応し、勝ち負けの一致は98% |
| 7 | 限月つきの銘柄(例: MGC 12-26)の1分足チャートに戦略を追加 | Account を評価口座にする(Sim101 や Playback のままにしない) |
| 8 | Start behavior を Wait until flat にして有効化 | 有効化した瞬間に建玉を持たないための設定 |
| 9 | 2週間はロットを最小にして、約定・滑り・決済時刻を毎日記録 | 問題がなければ口座を増やす |
移植してみて分かったのは、ロジックより「時刻」と「銘柄」の扱いのほうが手間だということです。次の節にまとめます。
コードで詰まりやすい4つの点
1. 足の時刻は「終わった時刻」
NinjaTrader の1分足は、足が終わった時刻が付いています。10:00 と表示される足は 9:59〜10:00 の足です。さらに既定の Calculate = On bar close では、足が閉じてから判断して次の足で約定します。MT5 で「10:00 ちょうどに建てる」EA は、そのままだと 10:01 に建ちます。
ちょうどの時刻で建てたいなら、Calculate を On each tick にして、各足の最初のティックだけで判断します(下のサンプルコード参照)。
2. タイムゾーンは ET に変換して判定する
先物の1日は 米東部時間(ET)の 18:00 に始まり、17:00 に終わります。VPS のタイムゾーンは日本だったり米国だったりするので、時刻の判定は プラットフォームの時刻 → ET に変換してから行うと、置き場所に左右されません。米国の夏時間・冬時間も自動で合います。
| 出来事 | ET | 日本時間(米国夏時間) | 日本時間(米国冬時間) |
|---|---|---|---|
| CME の日次メンテナンス | 17:00〜18:00 | 6:00〜7:00 | 7:00〜8:00 |
| FTMO Futures の強制決済 | 16:10 | 翌朝 5:10 | 翌朝 6:10 |
2026年は 11月1日に米国が冬時間に戻るので、日本時間で書いた時刻は1時間ずれます。
3. 強制決済より前に自分で閉じる
FTMO Futures は 16:10 ET に全ポジションを強制決済します。強制決済に任せず、数分前(例 16:05 ET)に bot 自身が閉じるようにしておきます。強制決済に頼ると、いつ・いくらで閉じるかを自分で管理できません。
4. 限月は自分で切り替える
NinjaTrader は 「MGC 12-26」のように限月を指定して動かします。受け渡し期間に入る前に、チャートの銘柄を次の限月へ替える必要があります。マイクロ金(MGC)の限月は偶数月だけで、12月限の最初の受け渡し通知日は 2026年11月30日です。
サンプルコード(NinjaScript)
「ET の指定時刻に1枚買い、指定時刻に閉じる。損切りはティック数」という最小の例です。1〜4の対策を入れてあります。銘柄と時刻はただの例で、売買の根拠はありません。
using System;using System.ComponentModel.DataAnnotations;using NinjaTrader.Cbi;using NinjaTrader.NinjaScript;
namespace NinjaTrader.NinjaScript.Strategies{ public class TimeWindowSample : Strategy { private TimeZoneInfo tzEt; private DateTime lastEntryDay = DateTime.MinValue;
[NinjaScriptProperty, Display(Name = "EntryEt(HHmm)", Order = 1)] public int EntryEt { get; set; } [NinjaScriptProperty, Display(Name = "ExitEt(HHmm)", Order = 2)] public int ExitEt { get; set; } [NinjaScriptProperty, Display(Name = "FlattenEt(HHmm)", Order = 3)] public int FlattenEt { get; set; } [NinjaScriptProperty, Display(Name = "StopTicks", Order = 4)] public int StopTicks { get; set; }
protected override void OnStateChange() { if (State == State.SetDefaults) { Name = "TimeWindowSample"; Calculate = Calculate.OnEachTick; // 各足の最初のティックで判定する EntriesPerDirection = 1; StartBehavior = StartBehavior.WaitUntilFlat; IsExitOnSessionCloseStrategy = false; // 手仕舞いは FlattenEt で自前管理 BarsRequiredToTrade = 1; EntryEt = 1000; ExitEt = 1130; FlattenEt = 1605; StopTicks = 40; } else if (State == State.Configure) { SetStopLoss(CalculationMode.Ticks, StopTicks); } else if (State == State.DataLoaded) { tzEt = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); } }
protected override void OnBarUpdate() { if (CurrentBar < BarsRequiredToTrade) return; if (Calculate != Calculate.OnBarClose && !IsFirstTickOfBar) return;
// 実運用では「今始まった足」の開始時刻、バックテストでは足の終了時刻で判定する DateTime barTime = State == State.Realtime ? Time[0].AddMinutes(-BarsPeriod.Value) : Time[0]; DateTime et = TimeZoneInfo.ConvertTime(barTime, NinjaTrader.Core.Globals.GeneralOptions.TimeZoneInfo, tzEt); int hhmm = et.Hour * 100 + et.Minute;
// 時間帯の終わり・強制決済前は閉じる if (Position.MarketPosition == MarketPosition.Long && (hhmm >= ExitEt || hhmm >= FlattenEt)) { ExitLong("TIME-EXIT", "L"); return; }
// 1日1回だけ、時間帯の中で建てる if (Position.MarketPosition == MarketPosition.Flat && hhmm >= EntryEt && hhmm < ExitEt && hhmm < FlattenEt && lastEntryDay != et.Date) { lastEntryDay = et.Date; EnterLong(1, "L"); } } }}実運用では、ここに日次の損失上限(その日の損切りの合計がファームの日次損失に届く前に止める)を足してください。FTMO Futures Pro $50K の日次損失は $1,000 のハードルールで、触れた時点で失格です。
規約の落とし穴
| ファーム | 落とし穴 |
|---|---|
| FTMO Futures | 市販 EA はファンド口座を拒否される恐れ(固有の戦略が求められる)。評価とファンドでロットを変えるのは「Evaluation vs. Sim-Funded Mismatch」に当たる恐れ。発注数には API 上限がある |
| Lucid Trading | 「複数ユーザーの協調取引」を理由とする閉鎖報告がある。同じ bot を他人と共有しない |
| Bulenox | 市販・共有・レンタル・公開配布の自動化ツールは禁止 |
| Tradeify | 所有の証明として、本人がコードを起動するライブ動画を求められる |
| Topstep | VPS・VPN・リモートサーバーからの発注は禁止。ライブ口座では API が使えず bot は止まる |
| 全社共通 | HFT・ティックスキャル・口座間の両建ては禁止が多い。自分の口座間のコピーは可の会社が多いが、他人とのコピーはほぼ全社で禁止 |
よくある質問
Q. MT5 の EA を先物プロップでそのまま使えますか?
使えません。先物プロップに MT5 はないので、NinjaScript などに書き直す必要があります。時間と価格で売買するタイプの EA なら、書き直しはそれほど大きくありません。
Q. PC を付けっぱなしにしないといけませんか?
NinjaTrader 方式なら、NinjaTrader が起動していないと bot は動きません。自宅 PC を付けっぱなしにするか VPS に置きます。VPS を使うなら、VPS を明文で許可しているファーム(FTMO Futures・FundedNext Futures)を選んでください。
Q. 夜通し持ち越せますか?
多くの先物プロップは その日のうちに全決済が必要です。FTMO Futures なら日本時間の翌朝 5:10(冬時間 6:10)が期限です。持ち越す前提の EA は、日をまたがない形に作り直す必要があります。
Q. 最初はどのくらいの枚数で動かせばいいですか?
最小枚数で2週間動かし、予定どおりの時刻に建って閉じるか、滑りがどのくらいかを確認してから増やすのがおすすめです。運営者もマイクロ金1枚から始めています。
参考リンク
- Tradovate API Access(Tradovate 公式ヘルプ、2026年9月16日更新)
- FundedNext Futures Trading Platforms(FundedNext 公式)
- Lucid Trading Supported Platforms(Lucid 公式ヘルプ、2026年7月28日)
- FTMO Futures FAQ:取引できる銘柄と使える戦略
- TopstepX API Access(Topstep 公式ヘルプ)
関連記事
- 先物プロップ28社の自動売買ルール総点検:どこで bot が使えるか
- 先物プロップのルール入門:枚数・トレーリングDD・日次損失
- FTMO Futures 完全ガイド
- FTMO 先物チャレンジの期待値
- 自動売買OKの先物プロップ6社の期待値まとめ
- FTMO Futures と Topstep の比較
この記事を書いた人
ホソノP |プロップファーム攻略の人
自分のお金でチャレンジを買い、出金まで記録して検証しています。記録した出金は Fintokei・Fundora・Funded7 で合計 610万円、The5ers で $4,776(2026年9月時点)。半裁量EA「ELDRA」の作者。