您现在的位置:程序化交易>> 期货公式>> (MC)multicharts>> MC知识>>正文内容

请版主指教,画图代码出现问题 [MC]

  • MC用户求助:

    我自己写了一个指标,中间有画图的指标,  但是我发现画图只花一部分数据.后面的数据就不画了.

    请教一下,如何才能直接画到K线截止

    还请大家指点.

    ======barslast 函数======

    //barslast [test,len]

    inputs: 

    Test( truefalseseries ),  

    Instance( numericsimple ) ; 

     

    if RecentOcc( Test, 1000, Instance, 1 )>0 then barslast=RecentOcc( Test, 1000, Instance, 1 )+1

    else barslast=0;

    ===========指标主要代码==========

    variables: 

    DIF(0), DEA(0), MACDSX(0),

    aa(0),bb(0),

    HG1(0), HG2(0),

     

    //MACD

    DIF =XAverage( close, 12 ) - XAverage( close, 26 ) ;

    DEA = XAverage(DIF,9);

    MACDSX = (DIF-DEA)*2;

     

    //

    if BARSLAST( MACDSX CROSS OVER 0,1)[BARSLAST( MACDSX CROSS UNDER 0,1)]-BARSLAST( MACDSX CROSS UNDER 0,1)>0 then aa=BARSLAST( MACDSX CROSS OVER 0,1)[BARSLAST( MACDSX CROSS UNDER 0,1)]-BARSLAST( MACDSX CROSS UNDER 0,1)

    else aa=0;

    if BARSLAST( MACDSX CROSS OVER 0,1)[BARSLAST( MACDSX CROSS UNDER 0,2)]-BARSLAST( MACDSX CROSS UNDER 0,2)>0 then bb=BARSLAST( MACDSX CROSS OVER 0,1)[BARSLAST( MACDSX CROSS UNDER 0,2)]-BARSLAST( MACDSX CROSS UNDER 0,2)

    else bb=0;

     

    HG1=NthHighest(1,H,aa)[BARSLAST( MACDSX CROSS UNDER 0,1)];

    HG2=NthHighest(1,H,bb)[BARSLAST( MACDSX CROSS UNDER 0,2)];

     

    if HG1<HG2 and MACDSX<0 then PlotPaintBar(High,Low,Open,Close,"",Blue); 

     

     

    =================图形表现=========

     

  • MC回复讨论一:

    第一、因为代码中绘制K线的语句是通过IF条件进行判断的,所以当条件不满足时,图表上不会绘制K线,而当条件满足时,在图表上绘制K线;而这是正常情况,所以您的问题”如何才能直接画到K线截止“,这个问题太模糊了....

    第二、您的函数barslast是数值类型的函数还是数列类型的函数,因为这两个类型的函数在效果上会不一样。

    第三、您的代码编译上没有问题,但是若是有问题,可能是您的代码逻辑与您实际预期的逻辑不一致;如果是代码的逻辑没有反应您的真实逻辑,那么您需要注释一下您的代码每个地方您预期的执行逻辑,这样方便帮您找到问题。

     

  • MC回复讨论二:

    第一、因为代码中绘制K线的语句是通过IF条件进行判断的,所以当条件不满足时,图表上不会绘制K线,而当条件满足时,在图表上绘制K线;而这是正常情况,所以您的问题”如何才能直接画到K线截止“,这个问题太模糊了....

    第二、您的函数barslast是数值类型的函数还是数列类型的函数,因为这两个类型的函数在效果上会不一样。

    第三、您的代码编译上没有问题,但是若是有问题,可能是您的代码逻辑与您实际预期的逻辑不一致;如果是代码的逻辑没有反应您的真实逻辑,那么您需要注释一下您的代码每个地方您预期的执行逻辑,这样方便帮您找到问题。

     

    ==========================

    你好,我仔细查看了下我的代码!

    1.IF的判断语句是绝对没有问题的,后期我都能查看到有相同符合条件的K线\

    2.BARSLAST  使用的是数值函数,  我尝试使用数列函数,指标无法使用.

    3.使用PRINT语气寻找问题,发现我的  HG1 HG2值  只能取到15年8月21日的值,后期无法运算的到数值.

    运算的K线总数为588根K线  

    4.我尝试将BARSLAST  函数中 先前运算的值从1000改为2000无法解决上述问题.  --基本排除和BARSLAST函数有关

    5.在指标参数中 将  指标运算参考的最大BARS数量   从自动检测  调整为2000  指标一直在计算当中.

     

    通过上述办法都没有解决问题.

    还请版主能够测试下代码,帮助解决下问题

     

  • MC回复讨论三:

    您需要提供一下您的指标的逻辑,代码每部分想达到的目的

     

  • MC回复讨论四:

    您需要提供一下您的指标的逻辑,代码每部分想达到的目的

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 511411198  点击这里给我发消息进行 有偿 编写!不贵!点击查看价格!


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容