見出し画像

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

こんにちわ、白魚の踊り食いをして、春を感じるブラックかふぇです。
今回は、まず自動売買Botの全体像をご説明し、各部分の実装を説明したいと思います。

1.BitMexログイン
2.日足データ取得(高値、安値、終値)
3.Pivot計算(日足データに基づいて)
4.オーダーエントリ(Pivot計算に基づき)
5.オーダークローズ(Pivot計算に基づき)

あとは、2 = > 5 をループ
という流れになるかと思います。

まずは、ログインというか接続のところ。
BitMexログイン

bitmex = ccxt.bitmex({
'apiKey': bitmex_keys['key'],
'secret': bitmex_keys['secret']
})

アクセスキー、
シークレットキー
には、皆様のキーを入力してください。
私は、ソースコードに直接キーを書くのは好きじゃないので、
config.json
と別ファイルにキーを書き、
ファイルを読み取って動作させるやり方をしています。

日足データの取得(高値、安値、終値)
Cryptowatchから日足データを取得します。

periods = 86400#秒数 #クエリパラメータを指定 
query = {"periods":','.join(periods)}#日足取得
try:
res = json.loads(requests.get("https://api.cryptowat.ch/markets/bitmex/btcusd-perpetual-futures/ohlc",params=query).text)["result"]
except Exception as e:
print(e)

#Pivot 値計算、日足データから計算します。

period = 86400
row = res[period]
length = len(row)
Last1D= row[length-1]
HIGH = Last1D[2]
LOW = Last1D[3]
CLOSE = Last1D[4]
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))

次回は、ここから、レジスタンス(R)、サポート(S)のラインで、エントリー、クローズするためのロジックを書きます。




BTCアドレス 3BMEXWoSg5i9zegtEZ3QTEAUDeAV7rKXde