FXをしていて時間の無い時に指値しておいたりストップかけて寝ポジしたりしますが、あのポジションどうなった!?とか気になりますよね。ログインすれば確認できますがログインするまで結構面倒ですし、スマホだとすぐセッションが切れてしまって不便です。Notifyを使ってLINEに通知してくれる監視botを作りました。GitHubにコードを公開してあります。クローンするか、zipでダウンロードして使ってください。Notifyという便利なサービスがありました。これがあれば色んなプログラムやサービスから自分のLINEに通知できます。概要BitMexの資産を監視してLINEに通知するBotです。β版の為、不具合がある場合があります。不具合を発見した場合は連絡を頂けると助かります。ベースにしたコードから不要なコードが残っている場合がありますが、動作には影響ありません。これをベースに改変する場合は注意してください。資産やポジションを監視して通知するだけなので、勝手に注文/注文キャンセルしたり出金する事はありません。※数秒毎に監視する為、その時間内にポジション無し→有り→無しのように瞬間的に状態が変わった場合は検知できません。StudioとPythonで開発しています。Cloud9での設定方法Pythonが動けば何でも良いのですが、24時間監視する事を考慮すると無償利用枠があり安価で、コードの修正もしやすいCloud9で運用するのがおすすめなので、ここではCloud9での設定方法を書いていきます。AWSアカウントを作成し、マネジメントコンソールにログインします。AWSアカウント作成は公式のドキュメントがわかりやすいです。マネジメントコンソールCloud9環境の作成・設定マネジメントコンソールの検索窓にCloud9と入れて進みます。environmentをクリックします。Stepをクリックします。settingsはコスト低減の為に自動でシャットダウンするまでの時間です。24時間監視をしたい場合はNever(シャットダウンしない)を設定してください。その他は基本的にはデフォルトの設定で問題ありません。typeはt2.microだと無償利用できるはずです。environmentでCloud9のインスタンスが作成されます。Files...を使ってアップロードします。追加に伴い、tradeHistory.pyを追加しました。BitMexの資産監視botに取引通知機能を追加した2019.7.29前回の記事でBitMexの資産を監視して変化があったタイミングでLINEに通知するbotを開発しました。実際に運用していると資産の変化だけでなく、どんな取引をして資産が変更したかを知りたいという要望がチラホラありました。右上の歯車を押してプロジェクトの設定を行います。Version:をPython3に変更します。enviroment:の項目でCloud9の自動シャットダウン設定を変更できます。次に画面下のコンソールでPython3の設定をします。デフォルトではPython2の設定になっている為、まずはエイリアスをpython3に上書きし、pythonに関連付けるバージョンの選択肢が表示されるので2を選択します。選択肢が表示されたら2を入力してenter.pipのアップグレードを行います。pip一応Pythonとpipのバージョンを確認しておきましょう。-VPythonが3.x.x、pipが19.x.x以上になっていればOKです。ccxt(BitMexなどの取引所と通信する為のライブラリ)をインストールします。ccxt上記のコマンドを順番に打ち込んで行くと以下のような画面になると思います。エラーが発生しなければOKです。これでPython環境とコードの準備ができました。NotifyそれぞれのAPIキーをコピペすれば動かせます。Notifyについては過去の記事にもあります。Notifyという便利なサービスがありました。これがあれば色んなプログラムやサービスから自分のLINEに通知できます。Notifyに自分のLINEアカウントでログインし、APIキーを作成します。トークンを発行するで任意のトークン名を入力し、通知を送信するトークルームを選択してください。1:1でも作成済のグループでも通知する事ができます。ここで設定した名前が通知の際に[BitMexBot]のように通知されます。発行したAPIキーをコピーし、LineNotify.pyのlineNotifyTokenの""中に貼り付けてください。※APIキーはここを離れると見れなくなります。この時点でコピペしましょう。紛失した場合は再発行してください。画面で任意の名前をつけてAPIキーを作成を押してください。CIDRは特に不要、キーのアクセス許可は注文/注文キャンセルどちらでも構いません。出金にはチェックを入れない方が無難です。2FAの設定をしている方は2要素トークン欄への入力を忘れないでください。作成したAPIキーのをccxtWrapper.pyにコピペします。IDをapikey、秘密鍵をsecretにそれぞれ貼り付けてください。テストネット/メインネットを切り替えられるようにしていますので、普通に取引する方メインネットの方(elseの方)に間違えずに貼り付けてください。NotifyのAPIキーをコードにコピペしたらbotを起動します。LineNotifyBot.pyでテストネット/メインネットを切り替えるコードで以下のようにメインネットが選択されている事を確認してください。開き、その状態でCloud9画面上部真ん中のRunボタンを押すとbotが起動します。自分のLINEにbot起動通知が来ているか確認してください。2019の2日目です。アソシエイト(SAA)試験を受験してきました。