⚠️【非推奨】FIX API入門①|FIXプロトコルとは?→ Python cBotを使おう
🚨 重要:FIX APIは非推奨です
この記事で紹介しているFIX APIは、以下の理由から非推奨です:
- 😱 17個のハマりポイントがあり、ドキュメントに書いてない罠が多すぎる
- 💀 実装に1週間以上かかる(Python cBotなら数時間)
- 🤯 800行以上のコードが必要(Python cBotなら数十行)
- ❌ コントラクトサイズ等の情報が取得できない
🐍 代わりにPython cBotを使いましょう!
cTrader 5.4以降、ネイティブPythonサポートが追加されました。
👉 Python cBot入門ガイド - 1行で注文できる世界へ
👉 cTrader 5.4 Python完全ガイド - 環境構築から実践まで
以下の内容は参考資料として残しています。FIX APIをどうしても使いたい方のみお読みください。
😵 「FIX APIで自動売買!」と思ったら…
「cTraderで自動売買するぞ!」
「FIX APIってのがあるらしい!」
…FIXって何?
REST API? WebSocket? 聞いたことない形式…
公式ドキュメント見ても意味不明。
🎯 この記事でわかること
- FIXプロトコルとは何か(歴史と目的)
- なぜ金融取引で使われるのか
- cTrader FIX APIの特徴
- REST API/Open APIとの違い
- 始める前に必要な準備
📚 FIXプロトコルとは
金融取引の世界標準
FIX = Financial Information eXchange
1992年にフィデリティとソロモン・ブラザーズが株式取引用に開発。
現在はFIX Trading Communityが管理し、世界中の金融機関で使用されている。
使用先:- 株式取引所- 外国為替(FX)- 先物・オプション- 暗号通貨取引所- プロップファームバージョン
| バージョン | 年 | 特徴 |
|---|---|---|
| FIX 4.0 | 1996 | 初期バージョン |
| FIX 4.2 | 2000 | 広く普及 |
| FIX 4.4 | 2003 | cTraderが採用 |
| FIX 5.0 | 2006 | 最新(トランスポート分離) |
cTraderはFIX 4.4を使用。
🤔 なぜFIXなのか?
REST APIじゃダメなの?
| 特徴 | REST API | FIX API |
|---|---|---|
| 速度 | 遅い | 超高速 |
| 常時接続 | ✗ | ✓ |
| リアルタイム | ポーリング | プッシュ |
| 信頼性 | HTTP依存 | 専用プロトコル |
金融取引では「ミリ秒」が勝負。
HTTPリクエスト → レスポンス待ち → 次のリクエスト…では遅すぎる。
FIXは常時接続で双方向通信。注文も約定通知もリアルタイム。
HFT(高頻度取引)のために
REST API:クライアント → リクエスト → サーバー → レスポンス → クライアント ↑ 100ms以上 ↑
FIX API:クライアント ←――――→ サーバー 常時接続・双方向・即時機関投資家やヘッジファンドは、FIXで直接取引所に接続している。
「プロの道具」がFIX API。
🧩 FIXメッセージの構造
見た目はこんな感じ
8=FIX.4.4|9=123|35=A|49=SENDER|56=TARGET|57=TRADE|34=1|52=20260106-12:00:00|553=LOGIN|554=PASSWORD|10=234|「|」で区切られたタグ=値の羅列。
(実際は|ではなく制御文字\x01=SOH)
タグの意味
8=FIX.4.4 → プロトコルバージョン9=123 → ボディ長(バイト数)35=A → メッセージタイプ(A=ログオン)49=SENDER → 送信者ID56=TARGET → 受信者ID57=TRADE → サブID(TRADEかQUOTE)34=1 → シーケンス番号52=... → 送信時刻(UTC)553=LOGIN → ユーザーID554=PASSWORD → パスワード10=234 → チェックサム(検証用)主要メッセージタイプ(35=)
| 35= | タイプ | 用途 |
|---|---|---|
| A | Logon | ログイン |
| 0 | Heartbeat | 死活確認 |
| 1 | TestRequest | 応答テスト |
| D | NewOrderSingle | 新規注文 |
| F | OrderCancelRequest | 注文キャンセル |
| 8 | ExecutionReport | 約定レポート |
| y | SecurityListRequest | シンボル情報取得 |
| AN | RequestForPositions | ポジション照会 |
🔌 cTrader FIX APIの特徴
2つのセッション(重要!)
┌─────────────────────────────────┐ │ cTrader FIX Server │ └─────────────────────────────────┘ ↓ ↓ ┌──────┴──┐ ┌──┴──────┐ │ TRADE │ │ QUOTE │ │ポート5212│ │ポート5211│ └─────────┘ └─────────┘ ↓ ↓ 注文・約定 価格データ ポジション レート配信TRADEとQUOTEは完全に別セッション!
- TRADE(5212): 注文、約定、ポジション
- QUOTE(5211): 価格データ、マーケット情報
1つのソケットで両方やろうとすると失敗する。
認証の罠(よくある間違い)
cTraderには2種類のパスワードがある:
| パスワード | 用途 | FIX APIで使う? |
|---|---|---|
| CTIDパスワード | cTraderアプリログイン | ❌ 使えない |
| FIXパスワード | FIX API専用 | ✅ これを使う |
CTIDパスワードでログオンすると RET_INVALID_DATA で即死。
FIXパスワードの設定方法
- cTrader Web にログイン
- 右上メニュー → 設定
- 「FIX API」または「API Access」
- FIX専用パスワードを設定
cTrader独自の実装
標準FIX 4.4とは違う部分がある:
| 標準FIX | cTrader FIX |
|---|---|
55=XAUUSD(文字列) | 55=41(数値ID) |
559=4(全シンボル取得) | 非対応(559=0のみ) |
724=0(PosReqType) | 非対応 |
1=Account | 非対応 |
ドキュメント通りに実装しても動かない。
これがFIX APIの地獄。
🆚 Open API vs FIX API
cTraderにはOpen APIという別のAPIもある:
| 特徴 | Open API | FIX API |
|---|---|---|
| プロトコル | Protobuf/WebSocket | FIX 4.4 |
| 実装難易度 | 中 | 高 |
| 公式ライブラリ | あり | なし |
| 情報取得 | 豊富 | 限定的 |
| 速度 | 速い | より速い |
| 用途 | 一般トレーダー | 機関向け |
どっちを選ぶべき?
✅ Open API を選ぶべきケース:- 初めて自動売買する- コントラクトサイズ等の情報が必要- 公式ライブラリを使いたい
✅ FIX API を選ぶべきケース:- 低レイテンシが重要- FIXの知識・経験がある- 機関レベルの接続が必要正直、普通の自動売買ならOpen APIで十分。
FIX APIは「茨の道を歩みたい人」向け。
🛠️ 始める前の準備
1. ブローカーがFIX API対応か確認
すべてのcTraderブローカーがFIX APIを提供しているわけではない。
FIX API対応の主要ブローカー:- Fundora- Pepperstone- IC Markets- FxPro- その他cTrader対応ブローカーの一部2. ライブ口座が必要
デモ口座ではFIX APIが使えないブローカーが多い。
リアルマネーを入れる覚悟が必要。
3. FIXパスワードを設定
cTrader Web → 設定 → FIX API設定
4. 接続情報を確認
必要な情報:
- TRADE Host (例:
h52.p.ctrader.com) - QUOTE Host (例:
h51.p.ctrader.com) - Sender Comp ID (ログインID)
- Target Comp ID (ブローカー指定)
📊 FIX APIで何ができる?
できること
✅ 新規注文(成行・指値・逆指値)✅ ポジション決済✅ 注文キャンセル✅ ポジション照会✅ 約定レポート受信✅ リアルタイム価格取得できないこと(重要!)
❌ コントラクトサイズ取得❌ スプレッド情報取得(計算は可能)❌ 口座残高の詳細照会❌ 注文にTP/SL直接設定❌ 全シンボルリスト取得特に「コントラクトサイズ」が取れないのは致命的。
公式フォーラムでも「FIX APIでは取得不可、Open API使え」と回答されている。
📝 まとめ
FIXプロトコルとは
- 1992年誕生の金融取引標準プロトコル
- 常時接続・双方向・低レイテンシ
- cTraderはFIX 4.4を採用
cTrader FIX APIの特徴
- 2セッション構成(TRADE + QUOTE)
- FIX専用パスワードが必要
- 標準FIXと微妙に違う実装
- 情報取得が限定的
向いている人
✅ 低レイテンシが絶対必要✅ FIXの勉強をしたい✅ 苦労を楽しめる
❌ 簡単に自動売買したい❌ 詳細な情報が欲しい❌ すぐに動くものが欲しい🔥 次回予告
【FIX API入門②】PythonでLogonメッセージを送ってみる
- ソケット接続の実装
- FIXメッセージの組み立て方
- チェックサム計算
- 実際にログオンが通るまで
15個のハマりポイントのうち、3個はLogonで踏む。
覚悟して待て。
📚 関連記事
FIX API完全版シリーズ(2026年版・Fundora検証済み)
- FIX API完全版① 2セッション構成とパスワードの真実
- FIX API完全版② リアルタイム価格取得編
- FIX API完全版③ ポジション・オーダー照会編
- FIX API完全版④ エントリー・決済完全実装
- FIX API完全版⑤ 全機能クラスの実装
その他
📖 参考リンク
「REST APIでええやん」と思ったあなた、正解です。 😇
それでもFIXをやりたい人だけ、次の記事へ。
🎁おすすめツール・サービス
※上記リンクにはプロモーション(広告)が含まれています
量子相場謀略|ホソノP
ブログでは書けない本音のトレード戦略とEA開発の裏側を公開。 データに基づいた検証で、再現性のある手法だけをお届けします。