※本ページはプロモーション(アフィリエイト広告)を含みます。
このページは、研究所が2026年10月から自分の口座でAPIの自動発注を動かしている経験をもとに、設定の手順と、つまずいた点をまとめたものです。
theoptionは2026年に、外部のプログラムから注文を出せる「自動売買API」を解禁しました。このページでは、APIキーを発行して、接続を確かめ、最初の1回を発注するまでを順に説明します。プログラムを自分で書く人も、できあいのツールをつなぐ人も、手順1〜4は同じです。
- APIでできること・できないこと
- 準備するもの
- APIキーの発行と、自動売買口座への資金振替
- 接続の確認(発注しない)
- プログラムやツールとつなぐ3つの方法
- 初回の発注で確かめること
- 注意点とリスク
- よくある質問
APIでできること・できないこと
APIは、あなたのプログラムとtheoptionのサーバーをつなぐ窓口です。プログラムがレートを受け取って判断し、「この契約をHIGHで1,000円」という注文を送ると、theoption側の自動売買口座から資金が使われます。自動売買口座はメイン口座とは別で、マイページの資金振替で移した分だけが使われます。

できることは大きく4つです。
- 注文(trading): 契約名と金額を指定して買う(/buy)、満期前に売る(/sell)、接続確認(/health)。
- 残高(wallet): 自動売買口座の残高(/balance)。
- 履歴(history): 期間を指定して約定と結果を取る(/trades、/transactions)。勝ち負けと払戻額はここに出ます。
- 配信(WebSocket): 取引できる契約の一覧とペイアウト、契約ごとのレート(contract_data)、自分の約定の更新。
できないことも先に書いておきます。過去のローソク足を取る口はありません。足が要るなら、レート配信を受けて自分で作ります(研究所のツールはそうしています)。レート配信は同時に購読できる契約が5本までです。1回の注文は1,000円以上、注文と注文の間は1秒以上あける必要があります。認証はAPIキー1本をヘッダに付けるだけで、ログインやセッションの概念はありません。キーがそのままログイン代わりになるので、扱いは手順7で触れます。
接続先は、本番が https://api.theoption.com/v1(配信は wss://gateway.theoption.com/v1/ws)、お試し(デモ)が https://apidemo.theoption.com/v1(wss://gatewaydemo.theoption.com/v1/ws)です。どちらにつなぐかは、どちらのキーを使うかで決まります。仕様の原本は theoption の開発者ページ(developers.theoption.com)にあります。
準備するもの
- theoptionの口座: まだなら口座開設の流れにまとめています。本人確認と入金まで済ませておくと、あとの資金振替で止まりません。
- プログラムを動かす場所: 手元のPCで構いません。ただしPCを閉じたり、スリープしたりすると注文も止まります。24時間動かすならVPS(月1,000円前後のLinuxサーバー)を使います。研究所は自宅のLinux機で動かしています。
- Python 3.10以上(自分で書く場合、または研究所のBOアプリを使う場合)。MT4のEAでつなぐ場合はMT4だけで足ります。
- デモ用のキーから始める気持ち: 本番キーで最初から回すと、設定ミスがそのまま損失になります。デモで注文が通るところまで確かめてから本番に切り替えてください。
APIキーの発行と、自動売買口座への資金振替
キーの発行はtheoptionのマイページで行います。画面の名前や並びは変わることがあるので、「どこで何をするか」だけ押さえてください。
- theoptionにログインし、マイページの「自動売買用API」という項目を開きます。
- 「お試し」(デモ)と「リアル」(本番)のタブがあります。まずは「お試し」で、「APIキーを生成」を押します。利用規約への同意を求められるので、内容を読んで同意します。
- キーが表示されます。表示は一度きりです。その場でコピーして、パスワード管理ソフトなど安全な場所に保存してください。閉じたあとに見返すことはできず、見失ったら無効化して作り直します。
- 本番で使う段になったら、「リアル」タブで同じ手順を繰り返します。デモ用と本番用は別のキーです。
- 本番キーで注文するには、自動売買口座に残高が要ります。同じ画面の「資金振替」で、メイン口座から自動売買口座へ金額を指定して移します。0円のまま注文すると「残高不足」(エラーコード207)で弾かれます。研究所は最初に5万円を移しました。
発行画面のスクリーンショットをSNSやブログに載せるとき、キーの文字列が写っていると、それだけで他人があなたの口座で注文できます。このページの画像でも、キーはすべて伏せています。
接続の確認(発注しない)
キーが正しいか、口座に残高があるかは、注文を出さずに確かめられます。リクエストはすべてPOSTで、本文は空のJSON、キーは Authorization: Bearer ヘッダに入れます。
curl -s -X POST https://apidemo.theoption.com/v1/trading/health \
-H "Authorization: Bearer <APIキー>" -H "Content-Type: application/json" -d '{}'
curl -s -X POST https://apidemo.theoption.com/v1/wallet/balance \
-H "Authorization: Bearer <APIキー>" -H "Content-Type: application/json" -d '{}'
healthが true を返し、balanceに数字が返れば、つながっています。本番キーなら apidemo を api に読み替えます。Pythonなら次の10行で同じことができます。
import requests
KEY = "<APIキー>"
BASE = "https://apidemo.theoption.com/v1" # 本番は https://api.theoption.com/v1
H = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}
print(requests.post(f"{BASE}/trading/health", headers=H, json={}).json())
print(requests.post(f"{BASE}/wallet/balance", headers=H, json={}).json())

ここで弾かれる原因は、ほぼ3つです。キーのコピーが欠けている(前後の空白や改行が混ざる)、デモのキーで本番の接続先を叩いている(またはその逆)、まだ規約に同意していない。この3つを順に疑ってください。
プログラムやツールとつなぐ3つの方法
方法A: 自分でプログラムを書く
注文の最小形は、契約名と金額です。契約名は 銘柄|種類|満期|商品|方向 の形で、たとえばUSDJPYの1分HIGH/LOWでHIGHを買うなら USDJPY|FD|1M|HIGHLOW|HIGH です。取引できる契約の一覧とペイアウトは、WebSocketの contracts ストリームから取れます(一覧にある名前をそのまま使います)。
r = requests.post(f"{BASE}/trading/buy", headers=H,
json={"contract": "USDJPY|FD|1M|HIGHLOW|HIGH", "amount": 1000}).json()
# 応答に約定ID(trade)、約定価格(order_properties.strike)、満期(close_time)が入る
結果は、満期の数秒後に履歴(/history/trades)に出ます。見るのは income(払戻額)です。1,000円でペイアウト1.95倍なら、的中で1,950、不的中で0。同値(約定価格と満期価格が同じ)も0、つまり負けと同じ扱いです。バックテストで同値を返金と仮定していると、ここで数字がずれます。
自分で書くときに最低限入れておく安全装置は、同じ足で二重に注文しない仕組み、1日の損失上限、そして「このファイルがあれば発注を止める」という緊急停止です。研究所のツールもこの3つを持っています。
方法B: 研究所のBOアプリ「ラボトくん」をつなぐ
研究所のBOアプリ「ラボトくん」は、MT4なしでtheoptionのAPI自動売買ができるツールです。WebSocketでレートを受けて自分で1分足を作り、3つの判定システムで注文を送ります。設定は画面から行います。いまは研究所の実機(Linux)で動かしている段階で、配布はまだ始めていません。

- アプリを入れて起動すると、まずは全システムが「記録」(発注せず、仮想の勝敗だけ記録)で動きます。この状態でキーと接続を確かめます。
- 設定画面で、口座(本番/デモ)、1回の金額(1,000円〜)、最低ペイアウト、1日の損失上限と回数上限、APIキーを入れます。キーは画面に表示されず、変えるときだけ入力します。
- デモで注文が通り、履歴に結果が出ることを確かめたら、本番キーに替え、使うシステムを「実弾」にして、「実弾の発注を許可」にチェックを入れて保存します。許可のチェックが無いと、実弾にしても記録のまま動きます(二重の鍵)。

いま配布しているのは、次の方法CのMT4用EAです。入手方法は自動発注ツールのページをご覧ください。
方法C: MT4のEAからつなぐ
MT4のEAからtheoptionのAPIへ注文を送る形もあります。MT4のチャートでサインを判定し、WebRequestでAPIを叩きます。この場合は、MT4側で「ツール」→「オプション」→「エキスパートアドバイザ」→「WebRequestを許可するURLリスト」に https://api.theoption.com と https://apidemo.theoption.com を追加しておかないと、注文が外に出ません。

MT4のレート(MT4の業者)とtheoptionのレートは別物なので、サインが出た足とtheoptionの約定価格は少しずれます。研究所が測ったところ、USDJPYで価格は1pips前後、時刻は1秒弱の差がありました。この差は方法Bでは出ません(theoptionのレートで足を作るため)。
初回の発注で確かめること
- デモで1回: 注文が通り、応答に約定価格と満期が入っているか。
- 満期後に履歴を見る: APIの履歴とマイページの取引履歴に同じ約定が出ているか。incomeが1,950(的中)か0(不的中・同値)か。
- 本番で1回、1,000円: 自動売買口座の残高が1,000円減り、的中なら1,950円戻るか。残高はメイン口座ではなく自動売買口座で見ます。
- 止める手段: 緊急停止(研究所のツールでは画面の赤いボタン、または data/KILL というファイル)で注文が止まることを、実弾を増やす前に試しておきます。
この4つが通れば、設定は終わりです。ここから先は、どのロジックで、1回いくらで、1日何回までにするか、という運用の話になります。
注意点とリスク
取引時間。USDJPYの1分は、日本時間の4:58〜8:00は取引できません(契約が時間外の状態になり、注文はエラー227で返ります)。週の始まりは月曜8:00です。欧米の夏時間・冬時間の切り替えで1時間動くことがあるので、季節の変わり目は契約一覧の開始時刻を見直してください。
エラーの読み方。207は自動売買口座の残高不足、227は契約が閉じている(時間外)、210は「この銘柄の取引量の上限」です。210は公式の一覧に載っていませんが、研究所では建玉が無いのに出たことがあり、1秒おいて1回だけ再試行し、だめなら見送る、という扱いにしています。
キーの扱い。キーは人に渡さない、画像に写さない、プログラムの中に直書きしてそのファイルを公開しない。漏れたかもしれないと思ったら、マイページで無効化して作り直します。他人のキーを預かって自分のサーバーで動かす運用は、規約で禁じられている「自分以外の人のためにシステムを使う」行為にあたります。
規約で止められる使い方。theoptionの利用規約は、API経由の自動取引を認める一方で、高頻度取引、相場操縦、レイテンシを突く取引、複数口座での協調取引を停止の対象にしています。同じロジックを多数の人が同じ秒に動かすと、業者からは協調取引に見える可能性があります。違反と判断されると、口座の凍結や利益の無効があり得ます。これはツールを提供する側だけでなく、使う側の口座に起きることです。
動かし続けることの難しさ。PCのスリープ、回線の切断、プログラムの例外で、注文は静かに止まります。逆に、止まったつもりで動き続けていることもあります。建玉は満期で勝手に決済されるので、途中で止まっても損失が無限に膨らむことはありませんが、二重注文は起きます。同じ足で2回注文しない仕組みと、1日の損失上限は、プログラム側に必ず入れてください。
リスクそのもの。バイナリーオプションは、短時間で資金の大半を失う可能性が高い取引です。自動化は手間を減らしますが、負けを減らすものではありません。ペイアウト1.95倍なら勝率51.3%が損益分岐点で、研究所の自動発注も検証記録のとおり、負ける週があります。自動売買口座に移すのは、失っても生活に影響しない金額にしてください。theoptionは日本の金融庁に登録されていない海外拠点の業者です。
よくある質問
Q. デモのキーと本番のキーは何が違う?
接続先と資金です。デモは apidemo / gatewaydemo につながり、資金は仮想です。形式も応答も同じなので、デモで通ったプログラムは接続先とキーを替えるだけで本番に移せます。
Q. 過去のレートはAPIで取れる?
取れません。レート配信を受けて自分で記録します。研究所のツールは受けたレートをCSVに残し、再起動しても足を作り直さなくて済むようにしています。
Q. 同値はどうなる?
払戻0円、つまり負けと同じです。1分取引では3%前後の頻度で起きるので、勝率を計算するときは同値を負けに含めてください。
Q. VPSは必要?
24時間動かしたいなら要ります。日本時間の夜(欧米時間)に注文が多いロジックなら、自宅PCを点けっぱなしにするよりVPSのほうが確実です。規約にVPSやVPNを禁じる記述は見当たりませんでした(2026年10月時点の英語版)。
Q. 研究所のツールを使えば勝てる?
保証はできません。ツールは、決めた条件で淡々と注文を出す道具です。条件の期待値はツールのページと検証記録に、負けた週も含めて出しています。
はじめるなら
口座がまだの方は、下のリンクから開設できます。APIの発行は、口座ができてマイページに入れればすぐ行えます。
リスクを理解した上で、theoptionで口座開設する(無料)
※ 上記は当サイトのアフィリエイトリンクを含みます。リンク経由で開設しても、ペイアウトなどの取引条件は変わりません。theoptionは日本の金融庁に登録されていない海外拠点の業者です。
※APIは外部ツール・プログラムとtheoptionを連携するための仕組みです。theoptionは特定の外部ツールを提供・推奨・保証していません。
※ 本ページは、研究所が2026年10月19日から自分の口座でAPIを使った経験と、theoptionの開発者ページ・利用規約(2026年10月28日時点、英語版)をもとにしています。画面の名前、エラーの種類、取引時間などは変わることがあります。最新の内容はtheoptionの画面と公式の案内でご確認ください。最終更新: 2026年10月31日。