Ejemplo n.º 1
0
                # 約定した時は、trade_sleep_timeを返す
                sleep_time = trade_wrapper.tradeDecisionWrapper(base_time)
                base_time = sleepTransaction(sleep_time, test_mode, base_time)

                # order_flagがある時は、stl_sleep_timeを返す
                # 決済した時は、stl_sleep_ltime or stl_sleep_vtimeを返す
                # その他はsleep_time = 0を返す
                sleep_time = trade_wrapper.stlDecisionWrapper(base_time)
                base_time = sleepTransaction(sleep_time, test_mode, base_time)

                # StopLossの時はstl_sleep_ltimeを返す
                # LimitOrderの時はstl_sleep_vtimeを返す
                # その他はsleep_time = 0を返す
                sleep_time = trade_wrapper.checkPosition(base_time)
                base_time = sleepTransaction(sleep_time, test_mode, base_time)

            if test_mode:
                now = datetime.now()

                if base_time > now or base_time > end_time:
                    trade_wrapper.removeOnfile()
                    raise ValueError("Complete Back Test")

    except:
        sendmail = SendMail("*****@*****.**", "*****@*****.**",
                            property_path)
        message = traceback.format_exc()
        debug_logger.info(message)
        sendmail.set_msg(message)
        sendmail.send_mail()