Type/to search
0
Follow
0
Followers
バックテストの問題点
FAQ
Created 2018-05-15 23:38:39  
 8
 1964

簡単なプログラムを書いて,理論的には,プログラムが1時間ごとにK線データを取得し,ログに表示すべきです.例えば,私は0点で反復を実行し,ログが1点,2点,3点で表示されるべきです.しかし,なぜ私の反復結果のログ時間は整数ではないのですか? 設定は間違っているのですか?
img img img

Related Recommendations
Comment
All comments (8)

    是这样的, 您设置了 轮询 Sleep 间隔 一定时间 程序执行一圈循环, 但是 除此之外, GetRecords 这些 函数调用都是 有时间开销的,包括 其他 函数调用,虽然 可能时间过程很小,但是 实际运行中 是不可忽略的,运行一定时间后 输出日志的时间 就会 推移了。

    8 years ago

    明白了 谢谢。那有没有办法可以让我的程序都在整点执行呢,比如在1点、2点、3点的整点获取k线数据

    8 years ago

    这个没法保证, 因为 您 去请求数据的时候是有延迟的 , 这个必定有误差时间, 不太可能做到 完全100% 在那个时刻。

    8 years ago

    好的 谢谢 还有一个问题
    还是上面的策略代码 我回测时间选择2017-11-01 00:00:00 - 2017-11-16 00:00:00
    我进行了两次实验 一次的底层k线选择1分钟 另一次的底层k线选择15分钟
    为什么1分钟的情况下日志没有任何输出 而15分钟的情况下日志数据从11月1日到11月16日每隔1小时的数据都有呢? img img img img

    8 years ago

    这个 要看下 您的测试代码了。

    8 years ago

    我的理解是这样,
    由于区间内1分钟k线数据缺失比较严重,因此底层k线选为1分钟的话不能成功模拟生成tick数据,所以不会生成回测日志;
    区间内大于1分钟周期的k线缺失率没有那么严重,因此可以很好的模拟生成tick数据,所以会有回测日志产生。
    不知道这样的理解对不对

    8 years ago

    测试代码是这一段 和一开始发的是一样的
    def main():
    while True:
    kList = exchange.GetRecords(PERIOD_H1)
    Log(kList[-1])
    Sleep(3600000)

    8 years ago

    不一定 是这个 问题, 这个要结合 策略 代码 分析下。

    8 years ago
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)