【文华财经麦语言编写技巧】:请教有关TIME的问题

    #IMPORT[DAY,1,AA] AS VAR1
    MA10:VAR1.MA10;
    //MA1:MA(C,1);
    P2:VALUEWHEN(TIME=2100,MA10);
    //VERTLINE(DAYBARPOS=1,COLORRED),DOT;
    //P2>REF(P2,1),BK(1);
    REF(P2,1)<REF(P2,2),BK(1);
    TRADE_AGAIN(100);

    我编写这段代码的本意是想在2100时刻开仓,当实际却在2200时刻开仓,如果将开仓命令代码改成P2<REF(P2,1),BK(1);则实际开仓时刻为2100。不知道是什么原因,特请教,谢谢!

    【文华财经麦语言编写技巧】:请教有关TIME的问题有个后续新的问题请教:针对刚才的问题我自己挣扎了一下,把开仓条件改到了FORMULA文件里,结果导致不开仓了,如下:

    FORMULA:CC

    MA10:MA(C,10);
    P2:VALUEWHEN(TIME=2100,MA10);
    T:=REF(P2,1)<REF(P2,2);

    主程序:

    #IMPORT[DAY,1,CC] AS VAR1
    T:VAR1.T;
    MA1:MA(C,1);
    //P2:VALUEWHEN(TIME=2100,MA10);
    //VERTLINE(DAYBARPOS=1,COLORRED),DOT;
    //P2>REF(P2,1),BK(1);
    //REF(P2,1)<REF(P2,2),BK(1);
    T,BK(1);
    TRADE_AGAIN(100);

    谢谢!

    答:

    您这个p2代表是21点的ma10

    如果今天的ma10 小于昨天21点ma10 那么 ,您是加载之1小时周期把

    REF(P2,1)<REF(P2,2),BK(1);

    正好就是10点 前一小时的P2是今天的 前两小时的P2就是昨天的了 正好就成立了

    后面的写法正好是在21点与昨天的比较 所以21点开仓,这个条件本身没有严格的时间约束的

    改在被引用指标中,则是在对应的引用周期进行计算判断的,您了解下

    REF(P2,1)<REF(P2,2),BK(1)

    是前一周期的P2 与前两周期的P2进行比较 加载至什么周期 就是什么周期的一个长度 不是代表昨天和前天

    参考:

    REF(A,SUMBARS(DAYBARPOS=1,1));

    其实您这个不用跨周期 就可以的

    您要比较当天夜盘第一根k线的ma10 与前一日第一根k线的ma10作为比较,这样看下

    P2:VALUEWHEN(TIME=2100,MA10);

    TIME=2100&&MA10>REF(P2,1)

    AA: EVERY(MA10<REF(MA10,1),BARSLAST(拐头条件)) 这句写在被引用指标中 表达大周期上是一直下降的

    BARSLAST(条件)<SUMBARS(DAYBARPOS=1,5); 这句是在小周期 表达拐头后的5天

    小周期拐头直接写MA10<REF(MA10,1)&&REF(MA10,1)>REF(MA10,2) 拐头条件就可以了 最后写在一起

    加载至小周期就是按照小周期计算呀

    条件虽然是大周期的,但是在小周期上找BARSLAST(条件) 是指在大周期满足的对应的小周期的位置到当前的距离,您了解下

    超长k线数据案例一:超长k线数据测试 量化交易

    超长k线数据案例一:超长k线数据测试

    前言 问题一:超长的K线数据有什么用? 以上期所的螺纹钢合约为例,螺纹钢2009年挂牌交易至今,已经有超过10年的历史数据。前8年的历史数据囊括了2009年的急涨急跌行情、2011年的震荡行情、201...