見出し画像

【はむとれ】現在持つべきポジションをチェックするツール

2021/1/23 新ツールを公開しました。

tvposcheck[Free版]
https://note.com/arakuma3/n/nad1d4b6a05a6

tvposcheck[Pro版]
https://note.com/arakuma3/n/n0d8d42adbe85


この前、TradingViewをプレミアムプランにアップグレードしたこともあり、現代ポートフォリオ理論に従ってストラテジーを20~30稼働しています。

リスク分散にもなってよかったのですが、取引所のエラーやメンテナンス中の注文失敗などにより想定しているポジションと異なることが発生します。

確認するには・・・

・対象ストラテジーを登録しているチャートを開く
・ストラテジーテスターのトレード一覧を開く
・一番下までスクロールして、ロング/ショート/決済を確認しメモする

上記を1セットで稼働数分確認する

・メモしたロング/ショート/ノーポジの数を足し算する
・(総ロング - 総ショート)= 持つべきポジション数

・取引所のポジション数を確認する
・持つべきポジション数と取引所のポジション数を比較する
・差分がある場合は、持つべきポジション数になるように手動で発注する

という作業することで、ポジションずれは解消できます。

おつかれさまでした。
5個ぐらいの稼働数ならば、さっと調整できますね!

しかし、30個となるともう確認している途中にでもアラートが発生するかもしれません。メモを取るのも大変です・・・。


こんなのやってられない!!ってことで自動化を考えました。


仕様

・自動でブラウザ操作できるツールを利用してロング/ショート/ノーポジを取得する
・複数のストラテジーをチェックしてその合計を計算して持つべきポジション数を出力する
・結果をDiscordに通知する
・定期的に自動チェックする
・AWSサーバによる常時安定稼働と動作環境品質の統一化
・確実に処理するためシングルスレッドの設計とする
・将来的には、マルチスレッドで高速化にする(未定)

・・・なんやかんやありまして・・・

とりあえず、動くものができました。

開発環境は、AWSのCloud9を利用しました。

一定間隔で起動するものでもよかったのですが、Cloud9ではCron処理ができないのと取引所特有のメンテナンス時間などを避けれるようにしたかったので設定ファイルで起動する「時:分」をしてする方式をとりました。

画像1

起動すると、待機モードになりシステム状態がログに出力されます。

画像2

アイドル状態でCPUは1.0%、メモリは7.0%ほどを利用します。
稼動状態で、CPUは30.0%、メモリは35.0%ほどを利用します。

t2.microのEC2環境でも動作できました。

指定した実行時間になると、データ収集を開始します。

画像3

画像4

画像5

処理終了後は、Discordにメッセージを通知します。

画像6

添付のCSVファイルを開くと[Alnalysis log]の内容が表示できます。

画像7

確認するポイント

[Result report]
全てのストラテジーがチェックできているか?

Strategy   : 18
Check Cout : 18
Check Result : OK

すべてのチェックが完了している(18すべて処理できている)

Strategy   : 17
Check Cout : 18
Check Result : NG

チェックの取りこぼしが発生しているので再チェックが必要


[Open status]
持つべきポジション数を確認する

Long     : 4
Short    : 5
No-Pos   : 9
Position : -1

この場合は、-1です。
1ストラテジーにつき0.1BTCで運用しているのならば、ショート0.1BTCとなります。

取引所の現在のポジション数と比較する

取引所側もショート0.1BTCであれば、修正は不要です。

取引所側がショート0.2BTCであれば、ロング0.1BTCの追加が必要です。(-0.2 + 1.0 = -1.01)

もし、このツールを使いたい方がいるならサークルのおまけとして公開したいと思います。(かなり不安定)

以下、準備中です。

・プロプラン:Windows用スタンドアロン版(使用期限あり)のみ
・プレミアムプラン:Windows用スタンドアロン版(使用期限あり)
          +AWS Cloud9実行用ソースコード

Windows用スタンドアロン版は、手動起動推奨。常駐起動は非推奨。

本noteの記事は、以上となります。




この記事が気に入ったらサポートをしてみませんか?