仮想通貨の初心者向け始め方ガイド
トレード戦略

BitMEXで自動売買botを動かそう!構築の手順をPythonコードで紹介します

ビットコインが不安定な相場になっていますねー。

不安定な相場のときは、僕は短期のトレードで稼ぐようにしています。
いわゆる「ガチホ」と呼ばれるような、買ってそのまま上がるまで放置するという手段は現在の相場は通用しなくなっているから。

短期トレードで稼ぐのであれば、使う取引所はもうBitMEX一択です。こんなに稼ぎやすい取引所はない。

理由と解説は以下の記事を参照ください。

驚異の100倍レバレッジ!BTCFXの取引所「BitMEX」の特徴を徹底解説少ない投資予算でも短期で稼げる!ということで、レバレッジ取引のできるFX投資が仮想通貨でも大流行し始めていますね。 で、短期FXト...

そんな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分で終わるのでこれを機に登録しておきましょう。

BitMEXの使い方まとめ!入出金の方法からレバレッジ取引きのやり方まで完全網羅レバレッジを最大で100倍の取引きができる取引所「BitMEX」。 今回は、そのBitMEXの入金からFX取引のやり方など、使い方...

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

次に、「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’]

取引するだけなのに何で口座情報が必要なの?と思うかもしれないですが、これめちゃくちゃ重要なんです。

実はBitMEXbotを動かす場合の注意点に「サーバーに無意味な不可をかけない」ことが挙げられます。

もし口座情報を取得しないと、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でbotを動かす際の注意点が上記ツイートにあります。まとめると以下ですね。

  • サーバーに負荷をかけるbotをブロックする
  • 成行で注文すると0.75%の手数料がかかる

これらの注意点はすべて上記で書いたコードプログラムに沿って設定することで回避できますよ。

BitMEXはサーバーが非常に安定しているので、うまく設定すれば動かしたい取引所だと思います。

以下のリンクバナーから登録することで、半年間の手数料が10%OFFになる特典を受けられます。10%は大きいので、ぜひこちらから登録しましょう。

BitMEXでオススメのbotアルゴリズムは?

紹介した基本パーツを組み合わせることで、簡単にbotの作成を行うことができます。

ただ、儲かるbotを作っていくには、「どんな条件の時に買い、どんな条件の時に売るか」というアルゴリズムの良し悪しで決まります。

BitMEXで動かすのであれば、短期的な取引を繰り返すよりも、トレンドに合わせて利幅とるアルゴリズムがオススメですね。

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

仮想通貨の自動売買botは必ずシミュレーションしよう!やり方をコード付きで解説!仮想通貨のトレードにおいて、昨今ではデイトレやスキャルピング等の短期はbotで自動売買することも珍しくありません。 勝率の高いアル...

取引量世界一のBitMEXでbotを動かせるようになれば、メリットは大きいはずです。

このように実際に大勝しているbotを運用できているユーザーもいますね。

チャレンジする価値は大いに有りますので、興味のある方はぜひ参考にしてみてください!

世界で断トツ1位の利用量を誇る取引所

仮想通貨の投資で稼ぎたいなら必ず使いたい取引所。

  • 取引所ランキング断トツ世界1位
  • 日本語完全対応
  • レバレッジは1倍〜100倍まで操作が可能
  • ロスカットがないので中長期のホールドも可能
  • 追加証拠金なしなので借金リスクが全くない安心感

 

確実に稼ぎたいならBitMEXを使いこなそう。

 

驚異の100倍レバレッジ!BTCFXの取引所「BitMEX」の特徴を徹底解説少ない投資予算でも短期で稼げる!ということで、レバレッジ取引のできるFX投資が仮想通貨でも大流行し始めていますね。 で、短期FXト...
こちらの記事もおすすめ