bitFlyer Lightningで、指値→成行注文にフォーカスを合わせるChrome拡張機能を自作した

bitFlyer Lightningで成行注文にフォーカスを合わせるChrome拡張作成 投資
※当サイトはアフィリエイト広告を掲載しています。

bitFlyer LightningのビットコインCFDに最近はまっています。なのですが、1点、超絶不満点があります。

それは……デフォルトが指値注文なこと。

何度うっかり「注文したのに建玉が無い!あれ、指値で注文してた……」と機会損失を被ったことでしょう(むしろ助かったこともありますが(汗))。

現物ならまだしも、CFDでは売り買いを頻繁に行うこともあります。また、速度も重要です。私は指値注文はほぼ使用せず、普段は成行で、たまに特殊注文を使うくらいです。

というわけで、デフォルトを指値から成行に変更したく、自分のPCでのみ動くChrome拡張機能(プラグイン)を自作し、対策したことをメモしておきます。

Lara
Lara

自作Chrome拡張機能を作るのは初めてだったので、ChatGPTに手助けをしてもらい作りました。

参考までに、CFD用に作りましたが、現物でも有効でした。bitFlyer Lightning全般で使えるようです。実際は指値注文派の人の方が多いんでしょうかね。

Chrome拡張機能の作り方

私の環境:Windows11で動作確認していますが、Macでも同じく利用可能なものと推測します。

フォルダ(ディレクトリ)を決める

まずは、任意のフォルダを決めます。私は、以下に保存するようにしました。

D:\documents\chrome\bitflyer

manifest.jsonを設置

そのディレクトリに、manifest.jsonというファイルを作成し、以下の様に設定します。

{
  "manifest_version": 3,
  "name": "bitFlyer Auto Market Radio Clicker",
  "version": "1.0",
  "description": "Automatically selects the 'Market' radio button on bitFlyer Lightning.",
  "content_scripts": [
    {
      "matches": ["https://lightning.bitflyer.com/trade*"],
      "js": ["content.js"],
      "run_at": "document_idle"
    }
  ],
  "permissions": []
}

content.jsを設置

次に、content.jsというファイルを作り、私は以下の様にしました。

(function waitForMarketRadio() {
  const targetId = "place__radio--market";

  const clickIfReady = () => {
    const el = document.getElementById(targetId);
    if (el) {
      el.click();
      return true;
    }
    return false;
  };

  setTimeout(() => {
    const observer = new MutationObserver(() => {
      if (clickIfReady()) {
        observer.disconnect(); // 見つけたら監視停止
      }
    });

    observer.observe(document.body, {
      childList: true,
      subtree: true,
    });
  }, 1000); // 1000ミリ秒待つ
})();

24行目の秒数は適当に変えてもOKです。あまり早くしすぎても、うまくいきませんでした。

また、執筆時点では成行のラジオボタンにIDがplace__radio--marketと振られているのを確認していますが、それが変更された場合、コードも変更する必要があります。

自作拡張機能を有効にする

Chromeで chrome://extensions/ を開き、右上の「デベロッパーモード」をオンに(①)。そして、「パッケージ化されていない拡張機能を読み込む」(②)で、自分で決めた先ほどのフォルダを指定します。

すると、③がでますので、オン(有効)になっていることを確認できればOKです。

次回、bitFlyer CFDの画面を開いた際、成行がデフォルトになっていることが確認できると思います。厳密には、ページ表示の1秒後に指値→成行に自動で変わります。

冒頭でも触れたとおり、CFD以外の現物でも動作していることを確認しています。

補足

重要:たまに動作しないこともある

数十から百回くらい試しましたが、まれに「指値」のままになっていることがあったように思います。私の勘違いか、コードの問題かは分かりません。

ですので100%動作するわけでは無いと心に留めておいていただければ幸いです。もしそうなった際、タイミングを逃したことによる損害などは私に負担できませんので、自己責任においてご利用ください。

サイトの仕様が変わったらコードの変更の必要がある

先ほども簡単に触れましたが、サイトの仕様が変われば、それに沿ったコードに変更する必要があります。いつ突然使えなくなるかは分かりませんのでご注意ください。

機能改善の余地

私がもしbitFlyer-CFDに今後も興味が続くようであれば、最初からデフォルトの数量も入れられないか検討してみます。

この部分はコード読んでませんが、たぶんできるのではないかと。

Lara
Lara

ただ、あんまり成績が良くないので、最近興味が薄れかけてきています(汗)。現物を持って置く方が楽な気がしてきました。

まとめ

これで大分楽に取引できるようになりました!

ただ、bitFlyer-CFD、なかなか勝てないですよね。売値・買値のブレが半端なく、微プラスで売ってもマイナスになったりします。スキャルピング的な利用は難しそうです。

USD/JPYの動きにも左右されるのもネックで、しばらくやってみた結果、むしろFXの方が勝ちやすそうに感じています。

あなたの取引の調子はどうでしょうか?こうやったら勝てる!など情報あればぜひ教えてください♪

コメント

タイトルとURLをコピーしました