settle_now.py
import urllib.request
import json
import pprint
import settings
import sys
import password
#利食いor損切り成行き決済注文
def settle_now():
obj = { 'Password': password.password,
'Symbol': settings.symbol,
'Exchange': 1,
'SecurityType': 1,
'Side': settings.side_settle,
'CashMargin': 3,
'MarginTradeType': 1,
'DelivType': 2,
'AccountType': 4,
'Qty': settings.qty,
'ClosePositionOrder': 0,
'Price': 0,
'ExpireDay': 0,
'FrontOrderType': 10}
json_data = json.dumps(obj).encode('utf-8')
url = 'http://localhost:' + settings.port + '/kabusapi/sendorder'
req = urllib.request.Request(url, json_data, method='POST')
req.add_header('Content-Type', 'application/json')
req.add_header('X-API-KEY', settings.token)
isException = True
try:
print('###settle_now')
with urllib.request.urlopen(req) as res:
print(res.status, res.reason)
for header in res.getheaders():
print(header)
print()
content = json.loads(res.read())
pprint.pprint(content)
return
except urllib.error.HTTPError as e:
print(e)
content = json.loads(e.read())
pprint.pprint(content)
except Exception as e:
print(e)
if __name__ == "__main__":
import sys
settle_now()
利食い or 損切りに関わらず、ただただ成行返済注文を即時で出すプログラムです。それ以上でもそれ以下でもありません。前ともほとんど変わっていません。
ただ、前はこのプログラム内にsys.exit()を書き、プログラムが終了するようにしていたのですが、今後再利用したときに、この後の処理も行えるようにしたがったので、それは削除しました。
全建玉決済です
このトレーリングストッププログラムは、発注を行わないので、建玉を取捨選択せず、今ある建玉を全決済します。ご注意ください。
プログラム内で発注を行い、その建玉のみを選択して返済するプログラムは、現在、鋭意テスト中です。近日中に公開します。
コメント