TradingViewを活用してBitMEXのBotを作る方法

仮想通貨FXで稼ぎたい人の中には、Bot(自動売買ツール)を設置してラクして稼ぎたい(という幻想)を求める方が多いと思います。

大丈夫です、私のその1人です。笑

 
私はシステムの知見も少々あり、各種ITツールをよく活用していますので、仮想通貨FXを知った時からどうやって売買を自動化できるかにある程度時間を使ってきましたし、今この記事を書いている時にも私のBitMEXの口座では私のBot軍(何個もいます)がチャリンチャリンと利益を積み上げています。

 
そこで今回は「私がBitMEXのBot(自動売買ツール)をどのように作っているのか」をご紹介します。

なお、ロジックおよび実際のソースは公開しません。
“魚を釣るための道具や流れの紹介”だけです。


 

 

BitMEXでBotを作る流れ

稼働中のBot軍も、今開発中のBotも、全てこの流れで作っています。

 

Botを作るために準備するもの

 
この後に紹介する私の開発方法の場合、TradingViewでの事前検証が大きな鍵です。よって、もし同じように作りたい・作ってみたい方は、この機会にぜひ登録してみてください。

TradingViewは無料でも十分に活用できますが、私はチャート内に沢山の指標やインジケーターを表示したいタイプなので、最上級のProアカウントです。

また、今回はBitMEXのBot製作を題材にしていますが、TradingViewでは他の金融商品チャートも表示できますし、Botではない裁量トレードに活用しているトレーダーも多いです。

さらに、TradingViewでは世界中のトレーダー兼エンジニアが自作のBotや戦略を公開していますので、それを活用するだけでも稼げる可能性はありますよ。

正直なところ、私のBotのアイディアはTradingViewで公開されているものをベースにした機能が多々あります。

 

 

インジケーターを活用してロジックにあたりをつける

まずはTradingViewの既存インジケーターを活用して、ロジックにあたりをつけていきます。

 
1 : チャートを表示
TradingViewでチャートを開く。BitMEXのBTCFXのチャートは「XBTUSD」です。

 
2 : インジケーターを使ってロジック検討
TradingViewで公開されている色々なインジケーターをチャートに入れてみましょう。チャートの上にあるメニューバーの「インジケーター」をクリックすれば沢山表示されますので、好きなものをチャートに追加できます。なお、アカウントのレベルによって、1つのチャートに同時に表示できるインジケーターの数に制限があります。

 
3 : 時間軸の決定
同じインジケーターでも時間軸によって相性の善し悪しがあります。よって、同じインジケーターを異なる時間軸のチャートに入れて検証します。

 
4 : 独自インジケーターの作成
インジケーターを複数表示しても、それらは独立して表示されています。良さそうな(単一または複数の)インジケーターを、Pineエディタ(TradingViewの既存機能で簡単にインジケーターを自作できるもの)で組み合わせて、チャートにエントリーポイントを矢印で表示させます。

 

チャートの下にある「Pineエディタ」を開く。

「新規作成」>「空のインディケーターのスクリプト」を開く。または、既存のインジケーターの名前をクリックする

インジケーターを組み合わせたエントリー条件を書き、矢印をチャートに表示させる。

 
プログラムを書いた事がある人ならばすぐに使いこなせると思いますので、Pineエディタの右端にある公式のヘルプをご覧ください。

プログラムを書いた事がない人は・・・・この機会に学んでください・・・・

 
参考までに。

私は矢印表示は以下のように書いています。

// UP(ロングエントリーの条件)が成立したら、ローソク足の下に、ブラックの上矢印を表示する。

UP = (ロングエントリー条件記述)
plotshape(UP, style=shape.arrowup, location=location.belowbar, color=black)

 

// DWN(ショートエントリーの条件)が成立したら、ローソク足の上に、ブラックの下矢印を表示する。

plotshape(DWN, style=shape.arrowdown, location=location.abovebar, color=black)

 

5 : 自作インジケーターの検証と調整
チャートに表示された矢印を見て、さらに検証して、条件を調整します。あとはこれの繰り返しです。

※Botを作らずに裁量トレードをしたい方は、ここまでの作業で十分だと思います。

 

実際に検証中です

↓この画像は今まさに私が実際にTradingView上で検証している時のものです。

 

撮影時:2018/03/13 12:30

 

撮影時:2018/03/13 14:20

 
これを見る限り、TradingViewの検証では良さそうなので、調整した上でBot化すると思います。

 

 

6 : 投資戦略テスターの利用開始
矢印ではなく、エントリー/エグジットするテストをするために、Pineエディタを書き換えます。ロジック内にエグジットのポイントもあればそれを記述し、無ければ、利確/損切りはエントリー時の価格±XXドルと固定値を入れておきます。

 

投資戦略テスターのイメージ

以下はPineエディタの「新規作成」>「空の投資戦略スクリプト」を選択すると表示されるものです。

longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition)
    strategy.entry(“L”, strategy.long)

shortCondition = crossunder(sma(close, 14), sma(close, 28))
if (shortCondition)
    strategy.entry(“S”, strategy.short)

【ロジック内容】
・ロングエントリー:直近14本のSMAが、直近28本のSMAよりも上回った時
・ショートエントリー:直近14本のSMAが、直近28本のSMAよりも下回った時

※このロジックは、「ロングを入れる=ショートが閉じる」「ショートを入れる=ロングが閉じる」です。
※初期状態から、Longを”L”、Shortを”S”に書き換えました。

 

Pineエディタ

 

7 : 投資戦略テスターでの検証と条件調整
投資戦略テスターで表示された結果を見て、エントリー/エグジットの条件を調整します。ただし、ここではあくまでも大雑把なレベルで、実装後に詳細な調整をします。

 
TradingViewの素晴らしい機能の1つがこの投資戦略テスターです。Pineエディタで作ったロジックをチャートに追加すると、すぐにバックテスト結果(過去データでの結果)が表示されます。
 

さきほどのロジック(SMAの交差)のテスト結果が以下です。

 

1時間足のテスト結果

 

15分足のテスト結果

 

5分足のテスト結果

 

1分足のテスト結果

 
このテスト結果を見る限りでは、このロジックは1時間足との相性が良さそうですね。

 
 

TradingViewで作ったロジックをBitMEX用Botに移植する

ここからいよいよ、BitMEX用Botに移植していきます。

ただ、Bot用のプログラムは開発する人の好みや稼働させる環境によって異なるので、ここではあくまでも流れだけにします。私のBot軍は、WindowsVPS上で、Pythonで動かしています。

 

8 : BitMEXのAPIキーの取得
BitMEXの
テスト環境(http://testnet.bitmex.com/
本番環境(https://www.bitmex.com/
それぞれアカウントを作り、それぞれAPIキーを取得(メモ帳などにコピペ)します。日本語表記にする場合には、画面右上の日本国旗をクリックしてください。

 

画面上部の「API」をクリック

 

画面中部の「APIキーの管理」をクリック

 

任意の名前をつけて”注文”をONにして
「送信」ボタンを押す

APIのIDとAPIキーは1度しか表示されないので、必ずメモ!!!

 

9 : BitMEX用Botに置き換え
Pineエディタで作ったロジックを、BitMEX用Botに実装します。ただし、Pineエディタで使われている関数はそのまま使えないものが多いので、関数がなければ、その関数の計算式を調べて、Botに記述します。

 
10 : BitMEXのテスト環境に接続してBotテスト
BitMEXのテスト環境にてBitMEXのAPIがちゃんと繋がるか、エントリー/エグジット機能が正しく動作するか、を確認します。

 
11 : BitMEXの本番環境に接続して運用開始
BitMEXの本番環境に接続して、実運用(実稼働)を開始します。ただし、ここでは色々なバグもあるので、ロットは極力小さめに。

 
12 : ロジックの検証と調整
TradingViewで調整できていた(利益が出ていた)としても、BitMEXで同じように稼働する事はまずありません。よって、BitMEXで稼働させた後に、ロジックの検証と調整をしていきます。

 
13 : 継続か廃止か決定
ある程度稼働させて、さらに条件も調整していくと、そのBotがダイヤモンドかマジの石か、分かってきます。石を動かし続けても損失が拡大するだけなので、自分の中である程度の線を引いて、継続/廃止をします。

 

以上です。

 
私は独自インジケーターで検証してから、投資戦略テスターを使ってますが、インジケーターがいらない場合には、最初から投資戦略テスターでエントリー/エグジットの条件を書いて検証するのもアリです。

 

 

おさらい

TradingViewを活用したBitMEXのBot作りの流れのおさらいです。

 

0 : TradingViewに登録
まずはTradingViewのアカウント作成。有料会員の方がチャートに沢山のインジケーターを同時に表示できるので稼ぐ環境に投資する思考がある人は有料会員になることを強くオススメします。私はPro会員です。

TradingViewの公式ページはこちら

 
1 : チャートを表示
TradingViewでチャートを開く。BitMEXのBTCFXのチャートは「XBTUSD」です。

2 : インジケーターを使ってロジック検討
TradingViewで公開されている色々なインジケーターをチャートに入れる。

3 : 時間軸の決定
同じインジケーターを異なる時間軸のチャートに入れて検証する。

4 : 独自インジケーターの作成
良さそうな(単一または複数の)インジケーターを、Pineエディタで組み合わせて、チャートにエントリーポイントを矢印で表示させる。

5 : 自作インジケーターの検証と調整
チャートに表示された矢印を見て、さらに検証して、条件を調整する。

6 : 投資戦略テスターの利用開始
エントリー/エグジットするテストをするために、Pineエディタを書き換える。

7 : 投資戦略テスターでの検証と条件調整
投資戦略テスターで表示された結果を見て、エントリー/エグジットの条件を調整する。

8 : BitMEXのAPIキーの取得
BitMEXのテスト環境と、BitMEXの本番環境でアカウントを作り、それぞれAPIキーを取得する。

9 : BitMEX用Botに置き換え
Pineエディタで作ったロジックを、BitMEX用Botに実装する。

10 : BitMEXのテスト環境に接続してBotテスト
BitMEXのテスト環境にてBitMEXのAPIの動作確認をする。

11 : BitMEXの本番環境に接続して運用開始
BitMEXの本番環境に接続して、運用を開始する。

12 : ロジックの検証と調整
BitMEXでの注文履歴を見て、ロジックの検証と調整をする。

13 : 継続か廃止か決定
結果を見て、継続/廃止をする。

 
以上です。

 

 

さいごに

なるべく多くの人が仮想通貨で稼げるように、今後も記事を増やしていきますね。

今後とも宜しくお願いします。