Type/to search

转换任意K线周期

Extent-API
8
Follow
1363
Followers

示例策略

  • 转换基础K线为任意K线周期
  • 暂时不支持 秒级别
    测试版本,如有BUG ,问题 欢迎留言。
Source
JavaScript
// K线周期合成  扩展为 根据基础K线 合成 为任意周期。
var cloneObj = function(obj) {                             // 深拷贝 对象函数
    var str, newobj = obj.constructor === Array ? [] : {};
    if (typeof obj !== 'object') {
        return;
    } else if (JSON) {
        str = JSON.stringify(obj);                         //系列化对象
            newobj = JSON.parse(str);                      //还原
    } else {
        for (var i in obj) {
            newobj[i] = typeof obj[i] === 'object' ?
                cloneObj(obj[i]) : obj[i];
Strategy parameters
Strategy parameters
合成周期毫秒数
Comment
All comments (16)

    如果用3小时k线合成18小时线没问题,合成日线时就会报错

    6 years ago

    现在平台直接支持自定义K线周期了,可以直接使用平台的功能了。

    6 years ago

    谢谢,我使用这个合成函数并不是因为需要使用交易所没有提供的k线周期,而是因为策略里需要同时用到小时线和日线周期,这样的话,如果调用两次GetRecords函数分别获取3小时线和日线,fmz底层是不是会发送两次网络请求?

    6 years ago

    是的, 这个合成代码写的比较早了, 你看下这个 :https://www.fmz.com/digest-topic/4154

    6 years ago

    getDHM里的逻辑写的好像有点问题,总报错 目标周期与基础周期不匹配!

    6 years ago

    你好 为啥不在api里头集成周线呢

    6 years ago

    有些交易所 支持 周线数据, 有的没有, 一般对统一的周期做了封装。其他周期 可以用小周期合成。

    6 years ago

    hello 可以解决么 我的策略因为这个已经不能回测了

    8 years ago

    我测试了 K线设置 1分钟周期 , 下边参数 设置 1000604 就是 4分钟的意思, 是可以合成K线的。

    8 years ago

    为什么用okex数据回测的时候 K线周期选择1分钟 但是却报错目标 周期‘240000’不是 基础周期 ‘180000’ 的整倍数,无法合成!然而我在回测配置参数的时候选的是一分钟 调用函数Getrecords函数的时候也是用的一分钟 为什么合成的时候会出现这样的报错呢

    8 years ago

    您回测时 设置的 参数 截图看下, 或者 直接 群里 QQ 小小梦。

    8 years ago

    你可以自己试一下 回测数据选OKEX期货 然后基础K线设置为1分钟 合成为4分钟 就会出现我这样的报错
    周期‘240000’不是 基础周期 ‘180000’ 的整倍数,无法合成!

    8 years ago

    这是我的代码while(true){
    records = Call(exchange.GetRecords,PERIOD_M1);
    //Log("原始K线数据:长度", records.length, "数据:", records);
    records = AssembleRecords(records, Num_UI_NewCycleForMS); // 第一个参数是 基础K线, 第二个参数是 要转换的周期的 毫秒数, 1000 * 60 * 20 就是 转换为 20分钟
    // Log("转换后K线数据:长度", records.length, "数据:", records);
    $.PlotRecords(records, 'BTC');
    // throw "stop"; // ceshi
    Sleep(1000);
    }
    这个是参数设置 img

    明明设置的是一分钟 但是却提示基础K线周期为3分钟 以前没有这种情况的

    8 years ago

    代码里是4小时K线,用30分钟回测正常(图表K线是4小时间隔),用5分钟回测不正常(从回测时间12点过后变成1小时K线了)

    9 years ago

    现在更新了 ,做了个处理要求基础周期 要和目标周期一致,比如目标周期是要合成6小时的,基础周期要使用1小时,使用更小的反而麻烦,而且要收集很多才行。您可以测试下,或者使用中有什么BUG 问题,建议 可以给我留言,也可以QQ我 。 再次,感谢提出问题 ^^

    9 years ago

    感谢提出问题 ,我检查下代码。处理下 ^^

    9 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)