ここでは、プログラムから仮想通貨の売買命令を出す方法を解説します。ここをマスターできれば、プログラムがあなたの代わりに注文を出してくれる事になります。

自動で売買ができる所まであと一歩ですので頑張りましょう!

まずは注文命令の出し方について学び、最終的にはPythonで使用できる非常に便利なCCXTというライブラリを使用して、注文命令を出す様にします。

段階的に学んでいった方が良いので、ライブラリを使って注文を出すまでの流れをステップアップしながら学んでいきましょう。

プログラムから売買注文を行う

プログラムで売買をする事で、人間の操作をシュミレートするができます(夢の用ですね)。そのためには取引所やサードパーティのAPIを活用するのが効率的で正確です。

まずはAPIを使って売買するプログラムを作成する方法を理解しましょう。

※パブリックAPIとプライベートAPIの違いについてはこちらの記事で紹介しています。

パブリックAPIとプライベートAPIの違いとは?

1.売買注文用の「パブリックAPI」

取引所のパブリックAPIについてご紹介します。

そもそもAPIって何?という部分については、これまでの記事で紹介しているので、大丈夫だと思いますが、改めて取引所のパブリックAPIの使い方をおさらいしておきましょう。

リクエストを投げるという処理をイメージしながら内容を確認して下さい。

※取引所はZaifを例にしています

Zaif(ザイフ)のパブリックAPIについて

2.売買注文用の「プライベートAPI」と「リクエスト関数」

取引所毎に売買注文に必要なプライベートAPIを用意しており、これを使えば簡単にプログラム上で売買をする事が可能になります。

プライベートAPIの場合、リクエスト用の共通関数を作成しておけば、様々な関数を呼び出す事ができます。

まずは、リクエスト用の関数の作り方も学びながら、プライベートAPIの使い方を学んでいきましょう。

※取引所はZaifを例にしています

ZaifのプライベートAPIのリクエスト関数を作ろう!

3.プライベートAPIを操作するためのAPIキーの取得方法について

プライベートAPIを操作する場合には、APIキーが必要になります。ここではAPIキーの取得の仕方を学んでおきましょう。

※取引所はZaifを例にしています

ZaifのAPIキーの作成手順

4.プライベートAPIで売買注文する

実際にプライベートAPIで売買注文をしてみましょう。

4-1.手動による注文命令

実際にAPIで注文する前に、まずは手動操作で買い注文やキャンセルをする方法を学びましょう。注文を入れると画面がどの様に変化するのか?などを手動操作で理解しておきましょう。

※取引所はZaifを例にしています

Zaifの手動注文方法(指値・リミット変更・取消)

4-2.APIで注文する

手動による注文と同じ様な内容をAPIリクエストによって実現してみます。実際にAPIで注文ができるんだ!という事をしっかりと理解して下さい。

APIを使って注文ができるという事は、当然ですが、自分の代わりにプログラムが勝手に注文をしてくれるという事です。自動売買も目前です。

※取引所はZaifを例にしています

APIとプログラムによるZaifの注文方法(指値・一覧取得・取消)

5.便利ライブラリ「CCXT」を使おう!

これまでは取引所で用意しているAPIを使用して、プログラムによる売買注文を行いました。しかし、取引所ごとのAPIを使用せずとも、CCXTというライブラリを活用すると、各取引所にほぼ同じ命令文でAPIの操作を実現できます。

実際に使ってみるとCCXTが非常に便利なライブラリである事が分かりますよ。

CCXTのインストール手順と基本的な使い方

6.CCXTのパブリックAPIとプライベートAPIを使いこなす!

実際にCCXTを使って注文の命令を出してみましょう。

CCXTを使いこなせる様になれば、途中で使用する取引所を変更したとしてもスムーズな対応ができます。

基本的な操作についてはCCXTでカバーしているので、ぜひ覚えておきましょう。

CCXTの関数の使い方|Pythonのサンプルコード付き

まとめ

APIを活用して、取引所に注文を依頼する、もしくは手動による操作をプログラムで行う事ができる!という事を分かっていただけたかと思います。

CCXTでは操作できない取引所ごとのAPIも存在しますし、逆にCCXTで実現した方が非常に楽な操作もありますので、様々な操作を試しながら何度も理解を深めていきましょう。

ここで学んだAPIの操作は、仮想通貨に限らず、様々な分野でも応用ができると思いますので、API操作の概念もしっかりと理解しておいていただけたらと思います。