SBI証券(Web版)で注文を高速化する:IFDOCO自動入力ブックマークレット公開
はじめに
株のトレードでは、エントリーと同時に利確と損切をセットで発注することが基本です。しかし、Web版の注文画面では入力項目が多く、次のような悩みを持つ人も少なくありません。
- HyperSBIアプリのワンクリック注文ほど簡易化したくない(誤発注が怖い)
- けれど、Web画面で毎回すべてを手入力するのは遅い
- 寄り付きなど短い勝負時間では、入力の遅れがチャンスロスになる
そこで本記事では、ブックマークレット(JavaScriptを登録したブックマーク)を使って、IFDOCO注文の入力を半自動化し、比較的短時間で発注する方法を紹介します。なお、本記事では取引パスワードの自動入力は扱いません。以下の通り危険なためです。安全性を保ちながら入力作業だけ高速化したい人向けの記事です。
- ブックマークに平文で残る
ブックマークを開くだけで誰でもJSコードが読めます。 - ブラウザ同期で他端末にもコピーされる
スマホ・自宅PC・仕事PCにそのまま同期され、漏えいリスクが上がります。 - バックアップ・共有で簡単に漏れる
ブックマークをHTMLで保存したときも、パスワードがそのまま書き出されます。
1. 自動入力で注文を時短する方法
手順は以下の通りです。
1-1.ブックマークレット(bookmarks.html)をブラウザにインポート
以下をhtmlとして保存し、ブラウザにインポートします。
bookmarks.html
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
It will be read and overwritten.
DO NOT EDIT! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<DL><p>
<DT><H3 ADD_DATE="1723822370" LAST_MODIFIED="1764491349" PERSONAL_TOOLBAR_FOLDER="true">ブックマーク バー</H3>
<DL><p>
<DT><A HREF="javascript:(function(){ const v1 = Number(document.getElementById('ifoco_input_price')?.value);%20%20%20if%20(!isNaN(v1))%20{%20%20%20%20%20const%20v2%20=%20v1%20+%2010;%20%20%20%20%20const%20v3%20=%20v1%20+%2015;%20%20%20%20%20if%20(document.getElementById(%27doneoco2_input_trigger_price%27))%20document.getElementById(%27doneoco2_input_trigger_price%27).value%20=%20v2;%20%20%20%20%20if%20(document.getElementById(%27doneoco2_gsn_input_price%27))%20document.getElementById(%27doneoco2_gsn_input_price%27).value%20=%20v3;%20%20%20}%20%20%20%20const%20skipCb%20=%20document.getElementById(%27shouryaku%27);%20%20%20if%20(skipCb)%20{%20%20%20%20%20skipCb.checked%20=%20true;%20%20%20%20%20if%20(typeof%20bottonChange%20===%20%22function%22)%20bottonChange();%20%20%20}%20%20%20%20%20%20%20const%20btn2%20=%20document.getElementById(%27botton2%27);%20%20%20if%20(btn2)%20btn2.click();%20%20})();" ADD_DATE="1752505105">【売り】IFDOCO_損切ライン自動入力~注文</A>
<DT><A HREF="javascript:(function(){ const v1 = Number(document.getElementById('ifoco_input_price')?.value);%20%20%20if%20(!isNaN(v1))%20{%20%20%20%20%20const%20v2%20=%20v1%20-%2010;%20%20%20%20%20const%20v3%20=%20v1%20-%2015;%20%20%20%20%20if%20(document.getElementById(%27doneoco2_input_trigger_price%27))%20document.getElementById(%27doneoco2_input_trigger_price%27).value%20=%20v2;%20%20%20%20%20if%20(document.getElementById(%27doneoco2_gsn_input_price%27))%20document.getElementById(%27doneoco2_gsn_input_price%27).value%20=%20v3;%20%20%20}%20%20%20%20(function%20syncLimit()%20{%20%20%20%20%20%20const%20r1%20=%20document.querySelector(%27input[name=%22ifoco_selected_limit_in%22]:checked%27);%20%20%20%20%20if%20(r1)%20{%20%20%20%20%20%20%20const%20targetRadio%20=%20document.querySelector(`input[name=%22doneoco_selected_limit_in%22][value=%22${r1.value}%22]`);%20%20%20%20%20%20%20if%20(targetRadio)%20targetRadio.checked%20=%20true;%20%20%20%20%20}%20%20%20%20%20%20const%20sel1%20=%20document.querySelector(%27select[name=%22ifoco_limit_in%22]%27);%20%20%20%20%20const%20sel2%20=%20document.querySelector(%27select[name=%22doneoco_limit_in%22]%27);%20%20%20%20%20if%20(sel1%20&&%20sel2)%20{%20%20%20%20%20%20%20sel2.value%20=%20sel1.value;%20%20%20%20%20}%20%20%20})();%20%20%20%20%20%20const%20skipCb%20=%20document.getElementById(%27shouryaku%27);%20%20%20if%20(skipCb)%20{%20%20%20%20%20skipCb.checked%20=%20true;%20%20%20%20%20if%20(typeof%20bottonChange%20===%20%22function%22)%20bottonChange();%20%20%20}%20%20%20%20%20%20%20const%20btn2%20=%20document.getElementById(%27botton2%27);%20%20%20if%20(btn2)%20btn2.click();%20%20})();" ADD_DATE="1764490625">【買い】IFDOCO_損切ライン自動入力~注文</A>
</DL><p>
</DL><p>
ブックマークをインポートする手順(Chromeの場合)
- 「ブックマークとリスト」>「ブックマーク マネージャ」を開きます。
- 「ブックマークをインポート」からbookmarks.htmlを選択し、インポートします。
- 必要に応じて、ブックマークが保存される場所を変更します。ブックマークバーに保存するのがおすすめです。
1-2.IFDOCO画面で 株数・指値・利確ライン・預かり区分 を入力
図の赤枠部分は手入力します。

1-3.ブックマークを押下する
ブックマークを押下すると、上図の青枠部分が自動入力されて以下が一気に実行されます。
- 損切価格を入力
- IFD1とIFD2の「期間」を同期
- 「確認画面を省略」にチェック
- 発注ボタンを押下
2.各ブックマークレットの処理内容
ブックマークレットでは、通常URLを入れる箇所にJavaScriptコードを登録しています。ここでは「買い」「売り」それぞれの処理内容を解説します。
買い注文用の処理
買い注文では、IFD1で指定した指値価格から損切ライン(OCO2)を自動計算します。
- 損切トリガー価格 = 指値 − 10 円
- 損切執行価格 = 指値 − 15 円
また、IFD1とIFD2の期間を同期させる処理を入れています。
さらに、「注文確認画面を省略」の自動チェック・「発注」ボタンの自動クリックまで行われます。
javascript:(function(){
/* --- 指値から損切ポイント 自動計算 --- */
const v1 = Number(document.getElementById('ifoco_input_price')?.value);
if (!isNaN(v1)) {
const v2 = v1 - 10;
const v3 = v1 - 15;
if (document.getElementById('doneoco2_input_trigger_price')) document.getElementById('doneoco2_input_trigger_price').value = v2;
if (document.getElementById('doneoco2_gsn_input_price')) document.getElementById('doneoco2_gsn_input_price').value = v3;
}
/* --- IFD1とIFD2の期間の同期 --- */
(function syncLimit() {
/* --- ラジオ(this_day / WEEKLY / kikan)同期 --- */
const r1 = document.querySelector('input[name="ifoco_selected_limit_in"]:checked');
if (r1) {
const targetRadio = document.querySelector(`input[name="doneoco_selected_limit_in"][value="${r1.value}"]`);
if (targetRadio) targetRadio.checked = true;
}
/* --- 期間指定の場合:日付セレクト値を同期 --- */
const sel1 = document.querySelector('select[name="ifoco_limit_in"]');
const sel2 = document.querySelector('select[name="doneoco_limit_in"]');
if (sel1 && sel2) {
sel2.value = sel1.value;
}
})();
/* --- 「注文確認画面を省略」にチェックを入れる --- */
const skipCb = document.getElementById('shouryaku');
if (skipCb) {
skipCb.checked = true;
if (typeof bottonChange === "function") bottonChange();
}
/* --- 「注文発注」ボタンを押下する --- */
const btn2 = document.getElementById('botton2');
if (btn2) btn2.click();
})();
売り注文用の処理
売り注文も同様に、指値から損切ラインを自動計算します。
- 損切トリガー価格 = 指値 + 10 円
- 損切執行価格 = 指値 + 15 円
ただし、売り注文は期間をデフォルトの「当日中」とすることが多いため、買い注文のような期間同期処理は含めていません。
javascript:(function(){
/* --- 指値から損切ポイント 自動計算 --- */
const v1 = Number(document.getElementById('ifoco_input_price')?.value);
if (!isNaN(v1)) {
const v2 = v1 + 10;
const v3 = v1 + 15;
if (document.getElementById('doneoco2_input_trigger_price')) document.getElementById('doneoco2_input_trigger_price').value = v2;
if (document.getElementById('doneoco2_gsn_input_price')) document.getElementById('doneoco2_gsn_input_price').value = v3;
}
/* --- 「注文確認画面を省略」にチェックを入れる --- */
const skipCb = document.getElementById('shouryaku');
if (skipCb) {
skipCb.checked = true;
if (typeof bottonChange === "function") bottonChange();
}
/* --- 「注文発注」ボタンを押下する --- */
const btn2 = document.getElementById('botton2');
if (btn2) btn2.click();
})();
おわりに
IFDOCO注文は便利ですが、入力に時間がかかるのが難点です。今回紹介したブックマークレットを使えば、お決まりの作業を自動化でき、発注までの流れを素早く整えられます。
寄り付き前後の忙しい場面でも、入力の負担が減ることで判断に集中しやすくなります。自分のスタイルに合わせて調整しながら、より快適な注文環境づくりに役立ててみてください。
Discussion