import pybitflyer
api = pybitflyer.API(api_key="ここにAPI_KEYが入るんだお(´・ω・`)", api_secret="ここにAPI_SECTRETが入るんだお(´・ω・`)")
def Order(Mode, price, size):
return api.sendchildorder(product_code="FX_BTC_JPY",child_order_type="LIMIT",side=Mode,size=size,price=price,minute_to_expire=2,time_in_force="GTC")
def Moving_Ave():
sum = 0
Ave_cnt = 5
for i in range(Ave_cnt):
sum += round(api.ticker(product_code="FX_BTC_JPY")['ltp'])
tmp_ave = round(sum / 5)
return tmp_ave
Ave = 0
B_cnt = S_cnt = 0
while True:
Pre = Ave
Ave = Moving_Ave()
def_size = 0.001
if Pre > Ave: # Buy Order
B_cnt += 1
def_size *= S_cnt
if def_size == 0:
def_size = 0.001
price = round(api.ticker(product_code="FX_BTC_JPY")['best_bid'])
Re = Order("BUY", price, def_size)
print("Buy Order:" + str(Re))
print("B Order size:" + str(def_size))
S_cnt = 0
elif Pre < Ave: # Sell Order
S_cnt += 1
def_size *= B_cnt
if def_size == 0:
def_size = 0.001
price = round(api.ticker(product_code="FX_BTC_JPY")['best_ask'])
Re = Order("SELL", price, def_size)
print("Sell Order:" + str(Re))
print("S Order size:" + str(def_size))
B_cnt = 0
elif Pre == Ave:
print("\n値段が変わらないから何もしないんだお (´・ω・`)サボってないお\n")
aW1wb3J0IHRpbWUKaW1wb3J0IHB5Yml0Zmx5ZXIKCmFwaSA9IHB5Yml0Zmx5ZXIuQVBJKGFwaV9rZXk9IuOBk+OBk+OBq0FQSV9LRVnjgYzlhaXjgovjgpPjgaDjgYoowrTjg7vPieODu2ApIiwgYXBpX3NlY3JldD0i44GT44GT44GrQVBJX1NFQ1RSRVTjgYzlhaXjgovjgpPjgaDjgYoowrTjg7vPieODu2ApIikKCmRlZiBPcmRlcihNb2RlLCBwcmljZSwgc2l6ZSk6CiAgICByZXR1cm4gYXBpLnNlbmRjaGlsZG9yZGVyKHByb2R1Y3RfY29kZT0iRlhfQlRDX0pQWSIsY2hpbGRfb3JkZXJfdHlwZT0iTElNSVQiLHNpZGU9TW9kZSxzaXplPXNpemUscHJpY2U9cHJpY2UsbWludXRlX3RvX2V4cGlyZT0yLHRpbWVfaW5fZm9yY2U9IkdUQyIpCgpkZWYgTW92aW5nX0F2ZSgpOgogICAgc3VtID0gMAogICAgQXZlX2NudCA9IDUKICAgIGZvciBpIGluIHJhbmdlKEF2ZV9jbnQpOgogICAgICAgIHN1bSArPSByb3VuZChhcGkudGlja2VyKHByb2R1Y3RfY29kZT0iRlhfQlRDX0pQWSIpWydsdHAnXSkKICAgIHRtcF9hdmUgPSByb3VuZChzdW0gLyA1KQogICAgcmV0dXJuIHRtcF9hdmUKCkF2ZSA9IDAKQl9jbnQgPSBTX2NudCA9IDAKd2hpbGUgVHJ1ZToKICAgIFByZSA9IEF2ZQogICAgQXZlID0gTW92aW5nX0F2ZSgpCiAgICBkZWZfc2l6ZSA9IDAuMDAxCiAgICBpZiBQcmUgPiBBdmU6ICMgQnV5IE9yZGVyCiAgICAgICAgQl9jbnQgKz0gMQogICAgICAgIGRlZl9zaXplICo9IFNfY250CiAgICAgICAgaWYgZGVmX3NpemUgPT0gMDoKICAgICAgICAgICAgZGVmX3NpemUgPSAwLjAwMQogICAgICAgIHByaWNlID0gcm91bmQoYXBpLnRpY2tlcihwcm9kdWN0X2NvZGU9IkZYX0JUQ19KUFkiKVsnYmVzdF9iaWQnXSkKICAgICAgICBSZSA9IE9yZGVyKCJCVVkiLCBwcmljZSwgZGVmX3NpemUpCiAgICAgICAgcHJpbnQoIkJ1eSBPcmRlcu+8miIgKyBzdHIoUmUpKQogICAgICAgIHByaW50KCJCIE9yZGVyIHNpemXvvJoiICsgc3RyKGRlZl9zaXplKSkKICAgICAgICBTX2NudCA9IDAKCiAgICBlbGlmIFByZSA8IEF2ZTogIyBTZWxsIE9yZGVyCiAgICAgICAgU19jbnQgKz0gMQogICAgICAgIGRlZl9zaXplICo9IEJfY250CiAgICAgICAgaWYgZGVmX3NpemUgPT0gMDoKICAgICAgICAgICAgZGVmX3NpemUgPSAwLjAwMQogICAgICAgIHByaWNlID0gcm91bmQoYXBpLnRpY2tlcihwcm9kdWN0X2NvZGU9IkZYX0JUQ19KUFkiKVsnYmVzdF9hc2snXSkKICAgICAgICBSZSA9IE9yZGVyKCJTRUxMIiwgcHJpY2UsIGRlZl9zaXplKQogICAgICAgIHByaW50KCJTZWxsIE9yZGVy77yaIiArIHN0cihSZSkpCiAgICAgICAgcHJpbnQoIlMgT3JkZXIgc2l6Ze+8miIgKyBzdHIoZGVmX3NpemUpKQogICAgICAgIEJfY250ID0gMAoKICAgIGVsaWYgUHJlID09IEF2ZToKICAgICAgICBwcmludCgiXG7lgKTmrrXjgYzlpInjgo/jgonjgarjgYTjgYvjgonkvZXjgoLjgZfjgarjgYTjgpPjgaDjgYogKMK044O7z4njg7tgKeOCteODnOOBo+OBpuOBquOBhOOBilxuIikK