Пример #1
0
def get_new_history_data():
    global hist
    newhist = []
    tmpid = 0
    while True:
        tmphist = FlyLib.get_contract_price(tmpid)
        #print("len={}".format(len(newhist)))
        for i, r in enumerate(tmphist):
            if r['id'] == hist[0]['id']:
                # done
                newhist += tmphist[0:i]  # 'i' mean, target - 1.
                hist = newhist + hist
                if len(hist) > 200000:  # size over check
                    print("over")
                    hist = hist[0:200000]
                return
        newhist += tmphist
        tmpid = tmphist[-1]['id']
Пример #2
0
p2_sellpricediff = 1  # 購入金額差分
p2_high_price_out_range_time = 300  # 直近高値算出用待ち時間(秒)「現在時刻よりm秒過去 ~ 履歴最古」迄の間での高値(300秒以上前の直近高値)
p2_pause_check_price = 300  # 直近高値からX円判定(直近高値まで300円に迫ったら、売買を20秒停止する。)
p2_pause_wait_time = 20  # Y秒間売買停止(売買を20秒停止する。)
# 売却終了判定
contracthistory_range = 2  # 過去約定履歴さかのぼり時間(H)(直近高値を記憶)
loss_border = -5000  # システム停止損失額(損失が5,000円を超えたらストップ)
##################################################################

p1_bordervol = round((p1_buyvolume * p1_volumepercent) * 1000) / 1000
p2_sellvolume = 0
is_halt = False  # 異常停止フラグ
waitflg = False  # 高値に迫った際の売買停止フラグ

# 起点となるIDと価格を保持
hist = FlyLib.get_contract_price()
nowrec = hist[0]
nowdt = FlyLib.get_dt(nowrec['exec_date'])
maxhistdate = nowdt - datetime.timedelta(hours=contracthistory_range)

# データ初期化
print("\nsystem init")
print("now-date:{}/{}/{} {}:{}:{}".format(nowdt.year, nowdt.month, nowdt.day,
                                          nowdt.hour, nowdt.minute,
                                          nowdt.second))
# PrivateAPIアカウントチェック
if FlyLib.check_account_access() == False:
    print("PrivateAPIアクセス異常。api_keyとapi_secretの権限をご確認下さい。")
    sys.exit()

# 1時間前までのデータをちゃんとゲットしなければならない。