見出し画像

【仮想通貨】【自動売買bot】【PHP】bitFlyer自動売買システムをカスタマイズするためのtips

今回は以前の記事「【BTC/JPY-FX】【PHP】bitFlyerAPIとinvestingのテクニカルデータを使った自動売買システムの構築

をカスタマイズして独自の自動売買プログラムを作成するための

様々なbitFlyer APIの操作tipsを書いていきたいと思います。

今回のプログラムでは前回の自動売買サンプルを作成したことを前提に

サンプルコード内にあるcreateCurlForLightning関数を利用して様々な処理を行うコードtipsを提供します。

tipsは以下全8点となります

1 .取引所の稼働状況を取得する

2 .最新のtickerを取得する

3 . 注文をキャンセルする

4 . 注文一覧を取得する

5 . 指値の注文を行う

6 . IFD及びIFDOCOの注文を行う

7 . 板情報の取得

8 . 約定履歴の取得

長い文章ですが、お付き合いいただけますようよろしくお願いします。

また今回のtipsは全て関数化して紹介していきますので、

プログラムコード内に適宜追加することで

元のプログムでは追加した関数を呼び出すのみで使用できるようになります。

1 .取引所の稼働状況を取得する

取引所の情報を取得するには以下のロジックを追加します。

function getExchangeState() {
    $url = "/v1/getboardstate";
    $ret = createCurlForLightning($url, "GET");
    $ret = json_decode($ret, true);
    return $ret;
}

実行するとhealthとstateが返却されてきますが、

healthが取引所の状態、stateがいたの情報となります。

helthに設定されてくる値は以下のとおりです。

NORMAL: 取引所は稼動しています。

BUSY: 取引所に負荷がかかっている状態です。

VERY BUSY: 取引所の負荷が大きい状態です。

SUPER BUSY: 負荷が非常に大きい状態です。発注は失敗するか、遅れて処理される可能性があります。

NO ORDER: 発注が受付できない状態です。

STOP: 取引所は停止しています。発注は受付されません。

state: 板の状態です。以下の値をとります。

stateに設定されてくる値は以下のとおりです。

RUNNING: 通常稼働中

CLOSED: 取引停止中

STARTING: 再起動中

PREOPEN: 板寄せ中

CIRCUIT BREAK: サーキットブレイク発動中

AWAITING SQ: Lightning Futures の取引終了後 SQ(清算値)の確定前

MATURED: Lightning Futures の満期に到達

この値を倍板判定の基準ととも確認することで

取引所がbusy等で注文が通らない等の問題を抑止することができます。

2 .最新のtickerを取得する

最新のtickerを取得するには以下のような関数を作成します。

ここから先は

9,969字

¥ 100

プログラムのことに関しては言語問わず対応できます。主にこれからプログラムを覚えていきたい+仮想通貨で自動売買をしたい人向けに記事を書いていきます。