見出し画像

BitMex 版 自動売買(Pivot逆張り)第一回

こんにちわ、ブラックかふぇです。
ビールを飲んでご機嫌になって記事を書いています。
Coincheckが使えなくなり、Bitflyerに引っ越ししたら、
SFD導入とあまりの遅いサーバーに嫌気がして、
ついにBitmexにお引っ越し。
Biftlyerで使っていたPivot逆張り自動売買ツールをBitmexに移植して見た。
その実装過程と最終的にソースコードの公開までも含めて書いていけたらと思っています。

Pivot逆張りとは?
まずは、Pivotは、トレーダーの方がよく使っている?と言われている手法の一つです。
決まった時間足の、
高値、安値、終値を使って計算して、
レジスタンス線(3本)、サポート線(3本)、中間線(1本)を導きます。
Pivot 逆張りは、
レジスタンス線まで
価格が上昇したら、売り(Short) =>反落すると推測
サポート線まで
価格が下降したら、買い(Long) => 反発すると推測
して、エントリーする手法です。

その実力ですが、
TradingViewの、バックテスト(Bitmex)で、内臓のスクリプトをそのまま使ってもなかなかの結果です。私の逆張りとロジックは少し違いますが。。

Botの作成は、
Python3,
CCXTライブラリ
を使用しています。
動作環境は、
Mac OS,
iPhone,
Windows10、
RaspberryPi
です。iPhoneは移動中に使えるので良いですね。動かし方は追々説明します。
BitMEX+CCXTの使い方は、
師匠のAKAGAMIさん(勝手に師匠とさせていただいております)の記事を参考にしていただけれと思います。めちゃくちゃ良いです。

Pivot 計算式
計算式は以下の通りです。

PivotPoint = (高値 + 安値 + 終値) / 3
一つ前の時間足、高値、安値、終値 を足して3で割ったものがPivotPointになります。まあ平均値ですよね。

まずは最初のレジスタンス線とサポート線は…

R1(レジスタンス線1) = (2 × PivotPoint)− 安値
S1(サポート線1)   = (2 × PivotPoint)− 高値

次に2つめのレベルのレジスタンス線とサポート線は

R1(レジスタンス線2) = PivotPoint + (高値 − 安値)
S2(サポート線2)   = PivotPoint − (高値 − 安値)

3つめのレベルのレジスタンス線とサポート線は以下の通りです。

R3(レジスタンス線3) = 高値 + 2(PivotPoint − 安値)
S3(サポート線3)   = 安値 − 2(高値 − PivotPoint)

コードの実装はこんな感じ

Pivot = round((HIGH+LOW+CLOSE)/3,1)
R3 = round(HIGH + 2 * (Pivot - LOW))
R2 = round(Pivot + (HIGH - LOW))
R1 = round((2 * Pivot) - LOW)
S1 = round((2 * Pivot) - HIGH)
S2 = round(Pivot - (HIGH - LOW))
S3 = round(LOW - 2 * (HIGH - Pivot))

次回は、この値の前提となる、時間足のデータ取得とあたりの実装説明をします。日足でやります。






BTCアドレス 3BMEXWoSg5i9zegtEZ3QTEAUDeAV7rKXde