ビットコインが不安定な相場になっていますねー。
不安定な相場のときは、僕は短期のトレードで稼ぐようにしています。
いわゆる「ガチホ」と呼ばれるような、買ってそのまま上がるまで放置するという手段は現在の相場は通用しなくなっているから。
短期トレードで稼ぐのであれば、使う取引所はもうBitMEX一択です。こんなに稼ぎやすい取引所はない。
BitMEXが稼ぎやすい所以は「仮想通貨FXならBitMEX!レバレッジ100倍・借金リスクなし・日本語対応」をご覧ください。

さて、そんなBitMEXで自動売買botを動かしてみたくないですか?
というわけで、PythonのモジュールCCXTを利用したBitMEXでの取引パーツを解説していきたいと思います。
なお、記事の内容は基礎的なPythonコードが書ける方を対象とする内容になってます。
興味はあるけどPythonが分からない!という人は、僕が独学で使用したこちらの入門書がめっちゃ丁寧で分かりやすいのでオススメ。
目次
はじめにCCXTをインストールしよう

CCXTというのは、botトレードに必要不可欠な仮想通貨取引所のAPIをまとめたモジュールです。
モジュールとは?
一定の処理をするプログラムを簡略化したコードで実行することができるアプリケーションのこと。
botを作るときは各取引所に存在するAPIを活用してbotと連携させるわけですが、めんどくさいことに各取引所ごとにAPIの仕様が異なるんですよ。(当たり前w)
そこで、便利なのが仮想通貨の売買を自動化するためのライブラリとなる『CCXT』です。
CCXTをインストールすれば、違う取引所のbotを作りたい!というタイミングで、その都度専用のモジュールをインストールしなくて良くなるんです。言わばCCXTはbot作成者に必須のモジュールだと思ってください。
CCXTのインストール方法は、Anacondaプロンプトを起動して以下をコピペするだけです。
pip install ccxt

そして、Enterを押せばインストール完了です!
BitMEXでAPIキーを取得する方法
それではBitMEXへログインして、APIキーを取得していきます。
まだ、BitMEXのアカウントをお持ちじゃない方は、1~2分で終わるのでこれを機に登録しておきましょう。


まずはメニューから「アカウント」へ進みましょう。

次に、「APIキーを取得」をクリックします。

ここで、APIの作成を行います。
「名前」には、自分で分かりやすい名前を任意で入力してOKです。
「CCXTモジュール」や「自動売買bot」など。
次に赤く囲っているプルダウンから『注文』を選択してください。
最後に2段階認証の6桁の数字を入れて、「APIキーを作成」をクリックします。

APIキーが無事に作成されると、IDと秘密鍵が発行されます。
これらを忘れてしまうと、またAPIキーの作成をし直さなければいけないので必ずメモに控えておいてください。
BitMEXとbotをつなげる基本パーツについて解説
さて、いよいよbotの基本パーツについて解説していきます。
これらと売買アルゴリズムを組み合わせれば、オリジナルのbotが作れちゃいますよ。
パーツ1:API認証
第1のパーツはAPI認証です。
BitMEXとbotをつなげるパーツが以下のコードになります。botの最初にはこのコードを必ず追加してください。
なお、追加した後は忘れずに「apikeyを入れる」と「secretを入れる」の部分に先程作成したAPIキーを入力してください。
import requests
import ccxt
import time
bitmex = ccxt.bitmex({
‘apiKey’: ‘apikeyを入れる’,
‘secret’: ‘secretを入れる’,
})
パーツ2:パラメーター指定
第2のパーツはどんな注文をするかを決めるパーツです。
パラメータは4つあります。
- どの通貨を購入するか
- どれくらいの枚数を注文するのか
- 最終取引価格とどれだけ離れた価格で注文するか
- どれくらいで損切りするか
コードは下記のようになります。
pair = “BTC/USD”
LOT = 注文したい枚数
DELTA = 現在価格といくら離すか
trigger = 損切り設定
まずはpair = の後ろに購入したい通貨ペアについて記入していきます。
今回はビットコインを購入するとして”BTC/USD”と記載します。
続いて、LOT = の後ろに購入させたい数量を追加します。
今回の購入させたい数量というのは、一回の注文ごとにどれだけの枚数を注文させるのかを設定します。この際にBitMEXで注文できる最小量の0.00001以上となるように注意しましょう。
DELTA = は現在価格からどれだけ離して注文するかを入力します。
要するに指値注文の設定を行うわけですね。BitMEXの成行注文は手数料が0.75%かかるため、必ず指値を入れる設定にしてください。
trigger = にはどれだけ価格が予想外の方向に動いたら損切りするかを設定します。
つまり、売りのときは注文価格より何ドル高くなったら決済する。または買いのときに注文価格より何ドル下がったら決済するのかを設定します。損切りのコントロールです。
なお、DELTAとtriggerは0.5単位で入力しましょう。
BitMEXの仕様上、0.5の倍数以外の数字はエラーが発生します。
パーツ3:口座情報の取得
第3のパーツは口座情報の取得です。
下記コードでBitMEXの残高をbotに知らせることができます。
total_btc = bitmex.fetch_balance()[‘BTC’][‘total’]
取引するだけなのに何で口座情報が必要なの?と思うかもしれないですが、これめちゃくちゃ重要なんです。
実はBitMEXでbotを動かす場合の注意点に「サーバーに無意味な不可をかけない」ことが挙げられます。
もし口座情報を取得しないと、botは残高があろうかなかろうか注文を繰り返しちゃうんですよ。
つまり、サーバーに無意味な注文をしてサーバーに無意味な負荷をかけてしまいブロックの対象になってしまいますw
ブロックされないように、口座情報を取得してから注文するようなbotの設定にする必要があるんですね。
パーツ4:最終取引価格の取得
第4のパーツは最終取引価格を取得するパーツです。
このパーツで、注文する価格の基準が決定されます。
def lastprice(pair):
value = bitmex.fetch_ticker(pair)[‘last’]
return value
こちらのコードで、直近で取引された価格が分かるようになります。
パーツ5:注文
最後に第5のパーツは注文するためのパーツです。
今回の例はBitMEXのサーバーに負荷をかけすぎないように3回エラーを起こしたら、注文をしない仕様にしています。
また、BitMEXの取引手数料を払わなくて済むように指値注文で設定していますよ。
def order_stop_limit(side)
last_price = lastprice()
if bitmex.fetch_balance()[‘BTC’][‘total’] >LOT:
error_times = 0
try:
if side == ‘buy’:
trigger_price = last_price – trigger
price = last_price + DELTA
if side == ‘sell’:
trigger_price = last_price + trigger
price = last_price- DELTA
params = {
’stopPx’: trigger_price,
’execInst’: ‘ParticipateDoNotInitiate,LastPrice’,
}
value = bitmex.create_order(‘BTC/USD’, type=’StopLimit’, side=side, amount=size, price=price, params=params)
except Exception as e:
print (e)
error_times = error_times + 1
if error_times == 3:
value =0
break
else:
print(‘残高が足りません。’)
return value
上記をプログラムに組み込んでみてください。
そうすることで、
購入したいときはorder_stop_limit(“buy”)
売却したいときはorder_stop_limit(“sell”)
と設定するだけで注文可能になります!
BitMEXにおけるbotの現状とは?
現時点で言うならば、BitMEXはbotの影響はそこまで大きくないと言えます。
なぜかと言うとBitMEXは、ぶっちぎりで世界一の取引量を誇る大人気のBTC-FX専用の取引所であるため、全体取引量に対してbotの占有率が少ないのだと思います。
BitMEXでのIP-Ban事象。MEXサポートの渡辺様にエンジニアの方につないでいただきました。Ban条件・注意点は下記の通り。MEXとの良好な関係づくり・健全なトレード環境を実現するためにも、bot開発者の方はこの情報を参考に、極力MEX側に負荷をかけないようなbot作りを徹底していただけると助かります。 pic.twitter.com/KsXfSneaEL
— AKAGAMI 卍 (@akagami_v2) 2018年6月9日
そして、BitMEXでbotを動かす際の注意点が上記ツイートにあります。まとめると以下ですね。
- サーバーに負荷をかけるbotをブロックする
- 成行で注文すると0.75%の手数料がかかる
これらの注意点はすべて上記で書いたコードプログラムに沿って設定することで回避できますよ。
BitMEXはサーバーが非常に安定しているので、うまく設定すれば動かしたい取引所だと思います。
以下のリンクバナーから登録することで、半年間の手数料が10%OFFになる特典を受けられます。10%は大きいので、ぜひこちらから登録しましょう。
BitMEXでオススメのbotアルゴリズムは?
紹介した基本パーツを組み合わせることで、簡単にbotの作成を行うことができます。
ただ、儲かるbotを作っていくには、「どんな条件の時に買い、どんな条件の時に売るか」というアルゴリズムの良し悪しで決まります。
BitMEXで動かすのであれば、短期的な取引を繰り返すよりも、トレンドに合わせて利幅とるアルゴリズムがオススメですね。

実際に動かす前には、一度バックテストをしておくことを推奨しています。

取引量世界一のBitMEXでbotを動かせるようになれば、メリットは大きいはずです。
BOTさんが、BitMEXで資産を「0.07XBT」から「0.15XBT」に増やしてくれたので、2つのサブアカウントで派生BOTを運用したところ、また資産を増やしてくれました!ロット上げて3アカウント運用しようと思います😎
またしばらくBOTさんは放置できそうなので、MANAコミュで雑談とか面白い事しよう😍— モイ (@moycoin) 2018年9月13日
このように実際に大勝しているbotを運用できているユーザーもいますね。
チャレンジする価値は大いに有りますので、興味のある方はぜひ参考にしてみてください!

仮想通貨の投資で稼ぎたいなら必ず使いたい取引所。
- 取引所ランキング断トツ世界1位
- 日本語完全対応
- レバレッジは1倍〜100倍まで操作が可能
- ロスカットがないので中長期のホールドも可能
- 追加証拠金なしなので借金リスクが全くない安心感
確実に稼ぎたいならBitMEXを使いこなそう。
