【自動売買超入門】MEXCのAPIを使ってpythonで実行する方法

当ページのリンクには広告が含まれています。
Narazu

APIを連携させて自動売買を作りたいけど、どのように連携すればいいの??

そんな悩みを解決する記事を書きました。

APIって聞くとハードルが高く感じがしますよね。
プログラミングの勉強を始めてみたけど、何を作っていいかわからなくて挫折するのがプログラミングです。

せっかく始めたプログラミングで何かを作りたい!!

そんな方に向け、プログラミングAPI超入門書を作成しました。

  • この記事で分かること
本記事の項目
  • APIの取得方法
  • APIの接続方法

プログラミングとAPIの充実する仮想通貨はかなり相性がいいです。
ぜひ「API」という実は低いハードルをクリアしましょう!

実際に取引するコードは無いですが、
APIを連携しこの記事をきっかけにビットコインの自動売買の自作への第一歩を踏み出しましょう!

目次

MEXCのAPIキーの取得

APIを取得している前提で記事を書いてきます。

APIの取得がまだの方は以下の記事を参考に取得してください。

結構簡単なので5分程度あれば取得可能です。

APIは外部へ漏らすことなく自身で管理してください。

Python実行環境の確認

私は以下のような環境でコードを実行しています。

Apple M1 2020
pyenv 2.3.35
Python 3.11.7

とりあえずpython 3.11ぐらいなら動くと思います!

Pythonで実行するためのディレクトリ構成

全体のディレクトリ構成図です。

あとで色々な機能の拡張や複数の取引所のAPIを追加できるようにしています。

bot
├── crypt_api
│   └── mexc.py
├── main.py
├── settings.ini
└── settings.py

プロジェクトディレクトリを構成するコマンド

以下はファイルを構成するコマンドです。

初心者の方は一つずつ確認しながら実行するといいです。

今回はプロジェクトディレクトリを「bot」としております。

なのでまず「bot」というディレクトリを作成します。

mkdir bot

以下のコマンドでプロジェクトディレクトリ内に移動します。

cd bot

「bot」内に「crypt_api」ディレクトリを作成します。

取引所ごとのクラスやメソッドを管理するためのフォルダとなります。

mkdir crypt_api

「crypt_api」内に「mexc.py」ファイルを作成します。

仮想通貨取引所であるMEXCに関する処理を行うためのファイルとなります。

touch crypt_api/mexc.py

bitbankの取引所が増えた場合は同じ要領で「bitbank.py」を増やしてください。


次にpythonを実行するためのファイルを作成します。

touch main.py

次にAPIキーを管理するためのファイルを作成します。

このファイルをgit hubにUPするのもNGです。
外部にAPIキーを漏らさないように気をつけてください。

touch settings.ini

APIキーが漏れてしまうと、そのAPIキーを使用して第三者でも操作することも可能となりますので気をつけてください


APIキーの情報を「settigns.ini」から取得したり、その他設定を行うためのファイルです。

touch settings.py

以下は一括でフォルダやファイルを作成するコマンドです。

上記で1行1行実行した場合は下記コマンドは実行不要です。

mkdir -p bot/crypt_api
touch bot/crypt_api/mexc.py bot/main.py bot/settings.ini bot/settings.py

PythonでAPIキーのテスト表示

一旦全てのフォルダやファイルが作成できたら、main.pyからsettings.iniのAPIキーを呼び出して表示してみます。

APIキーのテスト表示の手順
  • settings.iniの編集
  • settings.pyの編集
  • main.pyの編集
  • main.pyの実行

1.settings.iniの編集

まずはsettings.iniに以下のようにコードを書きます。

今後bitbankやbitFlyerのAPIが増えても楽に管理できるように設計しています。

xxxxxxxxxxxxxxxxを取得したapi keyに置き換えてください。

「xxxxxxxxxxxxxxxx」の部分は特にクオーテーションで挟む必要はないです。

[mexc]
api_key = xxxxxxxxxxxxxxxx
secret_key = xxxxxxxxxxxxxxxxxxxxxxxx

新しいAPI(例:bitbankの取引所)が増えた場合は以下のように追加していってください。

[mexc]
api_key = xxxxxxxxxxxxxxxx
secret_key = xxxxxxxxxxxxxxxxxxxxxxxx

# bitbank API以下追加
[bitbank]
api_key = vvvvvvvvvvvvvvvv
secret_key = vvvvvvvvvvvvvvvvvvvvvvvv

2.settings.pyの編集

次はsettings.pyに以下のようにコードを書きます。

簡単に説明すると、以下のコードは、

settings.ini」から「configparser」を通じてAPIキーの情報を読み込んでいます。

import configparser

conf = configparser.ConfigParser()
conf.read('settings.ini')

mexc_api_key = conf['mexc']['api_key']
mexc_secret_key = conf['mexc']['secret_key']

新しいAPI(例:bitbankの取引所)が増えた場合は以下のように追加していってください。

import configparser

conf = configparser.ConfigParser()
conf.read('settings.ini')

mexc_api_key = conf['mexc']['api_key']
mexc_secret_key = conf['mexc']['secret_key']

# bitbank API以下追加
bitbank_api_key = conf['bitbank']['api_key']
bitbank_secret_key = conf['bitbank']['secret_key']

3.main.pyの編集

次はmain.pyに以下のようにコードを書きます。

if __name__ == '__main__':

はpythonを実行するためのおまじないみたいなものです。

以下のコードは、

先ほどコードを書いた「settings.py」の「mexc_api_key」を出力するだけのコードです。

import settings

if __name__ == '__main__':
  print(settings.mexc_api_key)

それでは実行しましょう!

4.main.pyの実行

以下のように出力をしAPIキーを確認します。

python3 main.py

上の写真のようにAPIキーが出力されればOKです。

vs_codeを使っているのであればmain.pyを開いている状態で実行ボタンをクリックすれば実行されると思います。

初心者の方は同じ要領でシークレットキーも出力してみてください。

APIを使ってMEXCが取り扱っている通貨を取得する

ここから少し難易度が上がりますが、頑張ってください。

APIを使ってMEXCの通貨の取得手順
  • ccxtというライブラリの取得
  • crypt_api/mexc.pyの編集
  • MEXCで使っている通貨の取得(表示まで)

1.ccxtというライブラリの取得

ccxtというライブラリを導入します。

ccxtとは

様々な仮想通貨取引所のAPIを統一的な形で利用できるようにするPythonライブラリです。

ccxtを使用することで、異なる取引所に対するトレードやデータ取得の処理を、ほぼ同じコードで実装することができます。

異なる取引所のAPIを学ぶ手間を省き、より効率的にトレードボットやデータ収集ツールを開発が可能となります。

簡単にいうと

異なる取引所のAPIを効率よく使えるするようにするツール

です。


インストール方法は以下のようになります。

pipを使用している場合
pip install ccxt
pipenvを使用している場合
pipenv install ccxt

2.crypt_api/mexc.pyの編集

次に、いつでも他のファイルから関数を呼び出せるようにクラスを作ります。

初心者の方にはまだ難しいと思いますが、まずは真似してみて感覚を掴んでみてください。

MEXC用のclassを作成

以下のようにコードを書きます。

以下はコピー用のコードとなります。

import ccxt
import settings

class MexcApiClient(object):
  def __init__(self, api_key=settings.mexc_api_key, secret_key=settings.mexc_secret_key):
    self.mexc_client = ccxt.mexc({'apiKey': api_key, 'secret': secret_key})

以下の部分でccxtというライブラリがAPIを使って取引所であるmexcと接続してくれます。

ccxt.mexc({'apiKey': api_key, 'secret': secret_key})

3.MEXCで使っている通貨を取得する

先ほど作ったclassにメソッド(関数)を作成します。

理解できていない方はそのまま真似してみてください。

以下赤枠追記箇所です。

以下はコピー用のコードとなります。

import ccxt
import settings

class MexcApiClient(object):
  def __init__(self, api_key=settings.mexc_api_key, secret_key=settings.mexc_secret_key):
    self.mexc_client = ccxt.mexc({'apiKey': api_key, 'secret': secret_key})

  # MEXCから取り扱っている通貨の取得するメソッドの追記
  def get_market_currencies(self):
    currencies = self.mexc_client.load_markets()
    print(currencies)

以下の部分でmexcから取り扱っている通貨をロードしています。

self.mexc_client.load_markets()

次はこのメソッドをmain.pyから呼び出してみます。

main.pyの編集

main.pyに戻って以下のようにコードを追記します。

以下はコピー用のコードとなります。

import settings

# 以下追記
from crypt_api.mexc import MexcApiClient

if __name__ == '__main__':
  # print(settings.mexc_api_key) 一旦コメントアウト

  # 以下追記
  mexc_api = MexcApiClient()
  mexc_api.get_market_currencies()

再度実行しましょう。

python3 main.py

以下のように表示されればAPIで連携はできています。


Pythonを学ぶならやはりAIスキルにも興味があると思います。

そこでオススメのスクールがAidemy PREMIUMとなります。

未経験でもAIを使いたい人にオススメのスクールです。

無料で相談もできるので迷った方は個別相談をしてみてください。

Aidemy Premiumより 引用

\ 無料で個別相談 /

MEXCのAPIを使ってpythonで実行する方法 まとめ

本記事では「MEXCのAPIを使ってpythonで実行する方法」ついて解説しました。

本記事の項目
  • APIの取得方法
  • APIの接続方法

APIの扱いは意外と簡単だったのではないですか?

APIを使いこなせるようになると、考え方次第で数々の可能性を広げることができます。

プログラミング初心者は独学での学習は挫折しやすい傾向にあります。

私も何回も挫折しました。

この不安定な時代、スキルを身につけるためにも思い切ってプログラミングスクールで学ぶのもいいと思います。

この記事をきっかけにプログラミングにハマり、自動売買やbotで豊かになると嬉しく思います。

最後まで読んでくださいありがとうございました。


Aidemy PREMIUM公式ページ


MEXCのAPI取得がまだの方はこちらを参考にどうぞ。

Cardanoについての記事を書いていますので興味のある方はぜひご覧ください。


まだブログで月1万円稼いでいない方はこちらからの記事を参考にしてみて下さい。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次