見出し画像

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

深酒をして、深夜に「つるとんたん」で、あぶらかすうどんを食べてたら、BTCが1000USD 切ってて凹んだブラックかふぇです。
今日の時点で、9300 USD...

気を取り直して、Mainループの説明をしたいと思います。いたってシンプルです。
1. Pivot値を計算
2. 現在のポジション、オープンオーダーを確認
3 .オープンオーダー、ポジションがない => オーダーエントリ
 オープンオーダー、ポジションがある => 何もしない
4. 10秒待機=>1に戻る

while True:
    try:
        R3,R2,R1,PIVOT,S1,S2,S3 = Pivot(arg)
        currentQty = bitmex.private_get_position()[0]['currentQty']
        openOrder = bitmex.fetch_open_orders()
        openOrderCount = len(openOrder)
    except Exception as e:
        print(e)
    if currentQty < 0 or currentQty > 0:
        1+1
    elif openOrderCount > 0:
        1+1
    else:
        entry('sell',order_size,R1)
        entry('buy',order_size,S1)
    time.sleep(10)

あれ、ポジションクローズはどこ?と思ったあなたは、鋭いです。私の今回のBotでは、Mainループでは使わず、別のタイミングで動かすようにしました。

signal タイマーで、一定間隔で、クローズを実行しています。
通常運用では、Pivotで使った、時間足で、実行します。
このクローズを入れることで、利確or損切りを行います。

signal.signal(signal.SIGALRM, closePosition)
signal.setitimer(signal.ITIMER_REAL, interval,interval)
main(1)


とりあえず、全体をある程度説明できたかなと思います。
今日はここまで!


BTCアドレス 3BMEXWoSg5i9zegtEZ3QTEAUDeAV7rKXde