バグなのか、画像データが消えています。
以下のnoteに同じ内容で投稿していますので、こちらの記事でわかりにくい場合はそちらを参考にされてください!
noteと合わせておまけ部分の販売数制限をかけています。一時販売中止ということで高額設定にしています。買わないでください。返金等は応じかねます。
こんにちは。たんさんです。
先日、TradingViewのWebhookアラートを使ったbitFlyer自動売買BOTを制作しました。↓
これはBOTの基本的な機能しか備えていませんでしたが、この度様々な機能を追加したBitMEX版BOT「TANBOT for BitMEX」をリリースすることになりました。
TANBOT for BitMEXのコードと本記事は無料で読んでいただくことが可能です。
ただ、今回は購入者にはおまけとして専用Discordグループへ招待させていただきます。
DiscordグループではTANBOTの導入サポート、TradingViewアラートの共有、新たなBOTの先行利用などの特典を考えています。
(TANBOTの導入サポートは購入者のみとさせていただきます)
サポートや運営にも限界があるので、機を見て価格を上げる予定です。だいたいnoteと合わせて50部を目処に値段を上げますので、あらかじめご了承ください。
※商用利用はお断りします。
TANBOT for BitMEXの機能の概要は以下の通りです
自動売買
・TradingViewのWebhookアラートによる自動売買およびポジション決済
・注文内容をDiscordへの通知
・注文した際の各種情報Discordへの通知
・BitMEXサーバが稼働中か確認
・注文に失敗した際、1分以内に再注文
・証拠金不足による注文失敗の場合、再注文をやめる
・決まった期間に1度、証拠金の変遷のグラフをDiscordに投稿
スプレッドシート操作
・注文量、レバレッジ、通貨ペアの変更
・成行売買
・現在の建玉に関する情報の取得
・強制成行決済
・スプレッドシート操作による動作結果を表示
TANBOT for BitMEXの1番の特徴は、スプレッドシートから直接、設定変更、注文や情報確認を行うことができる点です。
BitMEXは公式アプリなどなく、スマートフォンからのアクセスが少し不便ですが、TANBOT for BitMEXを利用すれば、スマートフォンにGoogleスプレッドシートをインストールしておけば、手軽に操作できるようになります。
・TradingViewの有料アカウント
・TradingViewのアラート
・Googleアカウント
・Webhook URLを取得できるDiscordサーバ
・BitMEXのアカウントおよびAPI
↓TradingViewの有料登録はこちらから
・BitMEXはBOT専用の口座を作っておいた方が良いかと思います。
成行注文BOTなので、アフィリエイト口座の方が手数料が安いです。
↓BitMEXの登録はこちらから
BitMEXでBOT取引を行う際、API KeyとAPI Secretが必要になります。
BitMEXでの口座開設はもちろんですが、API Key等を使用する際の注意事項についても各々で充分に理解した上でご利用ください。
BOTを運用する際には別途TradngViewのインジケーターなどでアラートを設定する必要があります。
当プログラムコードを利用したことにより利用者が被る損失や被害について、筆者は一切の責任を負うことはできません。
🔴Googleドライブにアクセス
🔴+新規をクリック
🔴Googleスプレッドシートをクリック
🔴無題のスプレッドシートをクリックし任意の名前(ここでは「TANBOT」)を入力
🔴ツール > スクリプトエディタをクリック
------------↓スクリプトエディタにアクセスできない場合↓-------------
※スクリプトエディタにアクセスできない場合は以下の方法でGoogleアカウントにGoogle Apps Scriptを接続してください。
・Googleドライブにもどり、+新規 > その他 > +アプリを追加をクリック
・アプリを検索でGoogle Apps Scriptと検索し、+接続をクリック
・チェックボックスにチェックが入っていることを確認し、OKをクリック
------------↑スクリプトエディタにアクセスできない場合↑-------------
🔴無題のプロジェクトをクリックし、任意のプロジェクト名(ここでは「TANBOT」)を入力しOKをクリック
🔴以下のスクリプトをコード.gsに貼りつける
・2019/9/10 ver.1
・2019/9/11 強制決済アラート(Close)に対応
・2019/9/11 スプレッドシートにアイコンを挿入
・2019/9/12 注文時のメッセージを改善
・【最新】2019/9/13 シートレイアウト変更、強制決済を改善、レバレッジを自動変更化
・【最新】2019/9/13 通貨ペアをプルダウンメニューに変更
🔴以下の部分に各自の情報を入力
(注文量やレバレッジ、通貨ペアは後ほどスプレッドシートから変更可能です)
//===============================================
// ↓入力部分↓
//===============================================
// API Key等を設定
var key = "API Key";
var secret = "API Secret";
// 注文量
ORDER_SIZE = 100;
MY_LEVERAGE = 15;
PAIR = "XBTUSD";
// Discord Webhook URL
DISCORD_WEBHOOK_URL = "Discord Webhook URL";
🔴BitMEXのAPIページを表示
🔴名前に任意の名前(ここでは「TANBOT」)を入力し、キーのアクセス許可で注文を選択しAPIキーを作成をクリック
🔴IDがAPI Key、秘密がAPI Secretです。Google Apps Scriptに戻り、該当部分に貼り付け
🔴情報を投稿したいチャンネルの⚙チャンネルの編集をクリック
🔴ウェブフック > ウェブフックの作成をクリック
🔴ウェブフックURLのCopyをクリックし、保存をクリック。Google Apps Scriptに戻り、該当部分に貼り付け
🔴API Key、API SecretとDiscord Webhook URLを貼付できているか確認
※「"」や「;」を消さないよう注意
//===============================================
// ↓入力部分↓
//===============================================
// API Key等を設定
var key = "aaaabbbbccccdddd";
var secret = "eeeeffffgggghhhh";
// 注文量
ORDER_SIZE = 100;
MY_LEVERAGE = 15;
PAIR = "XBTUSD";
// Discord Webhook URL
DISCORD_WEBHOOK_URL = "https://discordapp.com/iiiijjjjkkkkllll";
🔴ファイル > 保存をクリック
🔴公開 > ウェブアプリケーションとして導入をクリック
🔴以上の設定になっていることを確認し導入をクリック
・プロジェクトバージョン:New
・次のユーザーとしてアプリケーションを実行:自分
・アプリケーションにアクセスできるユーザー:全員(匿名ユーザーを含む)
🔴許可を確認をクリック
🔴自分のGoogleアカウントをクリック
🔴詳細をクリックしTANBOT(安全ではないページ)に移動をクリック
🔴許可をクリック
🔴現在のウェブアプリケーションのURLに表示されたURLをコピー
※このURLをTradingViewのWebhookアラートに貼り付けます。
----------------↓スクリプトを変更/更新する際の注意↓-----------------
※今後、スクリプトを編集し更新する際はファイル > 保存をクリックした後に公開 > ウェブアプリケーションとして導入をクリックして、
プロジェクトバージョン:New を選択し、更新してください。
(ウェブアプリケーションのURLは変わりません)
----------------↑スクリプトを変更/更新する際の注意↑-----------------
🔴🕒現在のプロジェクトのトリガーをクリック
🔴右下の+トリガーを追加をクリック
🔴1分間隔で実行する関数をトリガーに追加します。
[再注文、ログ、各種情報の取得、スプレッドシートの初期設定をする機能]
・実行する関数を選択:opeManage
・実行するデプロイを選択:Head
・イベントのソースを選択:時間主導型
・時間ベースのトリガーのタイプを選択:分ベースのタイマー
・時間の間隔を選択(分):1分おき
以上を選択し保存をクリック
🔴1日間隔で実行する関数をトリガーに追加します。
[証拠金の変動グラフを作成しDiscordに通知する機能]
・実行する関数を選択:dateFunc
・実行するデプロイを選択:Head
・イベントのソースを選択:時間主導型
・時間ベースのトリガーのタイプを選択:日付ベースのタイマー
※時刻を選択は自分のお好みの時間に設定してください。
以上を選択し保存をクリック
🔴スプレッドシートを操作する際に実行する関数をトリガーに追加します。
[スプレッドシートからの成行売買、強制決済、情報取得、レバレッジ変更、注文量・レバレッジ・通貨ペアを設定する機能]
・実行する関数を選択:getBtns
・実行するデプロイを選択:バージョン1(最新のもの)
・イベントのソースを選択:スプレッドシートから
・イベントの種類を選択:変更時
以上を選択し保存をクリック
🔴1分間隔で実行されるトリガーによって、自動的にスプレッドシートの初期設定が行われます。(映像は最新バージョンのものではありません)
🔴テストアラートで売買を試してみます。
スプレッドシートの注文量を1に変更してください。
🔴以下の設定を行い保存をクリックするとすぐにアラートが発生しBitMEXに注文が送られます。
・通貨ペア:何でもOKですが、BitMEXで自動売買をする際はBXBTがいいと言われています。
・「値」が「1」「より大きい」で設定してみます。
・オプション:1回限り
アラートアクション
・Webhook URLのチェックボックスにチェックを入れ、先ほどコピーしたURLを貼り付けます。
・メッセージにSellもしくはBuyと入力
🔴テストシグナルを送ると、このように注文履歴がスプレッドシートの履歴タブに追記されていきます。
日本時間と証拠金は注文確定の後に、1分間隔で実行されるトリガーによって追記されます。
(映像は時間短縮のため一部カットしています)
🔴履歴タブはスプレッドシート下部にあります
🔴本番アラート設定の際は、先ほどと同じようにWebhook URLとメッセージを入力すればOKです。
🔴Webhookアラート発生時の動作
・BitMEXサーバが稼働中か確認
(サーバが稼働してない時にアラートが来た際は情報を保持し再注文する)
・Buyアラートで成買 / Sellアラートで成売
・以下の注文結果を履歴タブに記入
[タイムスタンプ、注文ID、通貨ペア、売買、注文量、価格]
・ 注文結果の簡易情報をDiscordに投稿
🔴スプレッドシートの入出力による動作
(スプレッドシートを変更するたびに発生するトリガーによって動作)
・設定変更 :
[注文量(XBTUSDの場合単位はUSD)、レバレッジ、通貨ペア]
・成買 / 成売
・注文結果を履歴タブに記入
[タイムスタンプ、注文ID、通貨ペア、売買、注文量、価格]
・ログ:注文などの各種操作の結果が記入されます。
・情報確認:
[現在価格、平均約定価格、建玉、未現実損益、精算価格]
・レバレッジ変更
・強制決済
🔴1分間隔で発生するトリガーによる動作
・履歴タブが存在しない場合、スプレッドシート全てを初期化
・Webhookアラートによる注文の詳細情報をDiscordに投稿
[現在価格、預入証拠金、必要証拠金、未現実損益、証拠金維持率、
平均約定価格、レバレッジ、買/売注文、建玉、清算価格]
・Webhookアラートによる注文、及びスプレッドシート操作による以下の注文の情報を履歴タブに記入
[日本時間、預入証拠金]
🔴1日間隔で発生するトリガーによる動作
・古い証拠金のグラフがある場合、削除
・履歴タブの日本時間と預入証拠金を参照し新しいグラフを作成
・Discordに日付と共にグラフの画像データを投稿
※証拠金等の単位は全てsatoshi(XBt)です。
いかがでしたでしょうか?
前回のbitFlyer BOTに比べると、機能が増えたため少し複雑になってしまいましたが、慣れてくるとスマホからもアクセスできるため便利に利用していただけるかと思います!
今後も機能追加などしていく予定ですが、その場合は以下の有料パートに記載されているDiscordサーバの参加者に優先的に公開していく予定です。
繰り返しになりますが、DiscordグループではTANBOTの導入サポート、TradingViewアラートの共有、新たなBOTの先行利用などの特典を考えています。
(TANBOTの導入サポートは記事購入者のみとさせていただきます)
また、記事購入によるDiscordへの招待は人数制限をさせていただきます。
どれくらいの人数まで対応できるかわからないので、最初は50人程度の招待になるかと思います。
最初のDiscord参加者への対応が落ち着けば再度募集を開始するかと思います。
その際は、Twitterで告知させていただくことになると思います。
以上です。お付き合いありがとうございました。