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

Alex, 我的意思是查从上周到之前104周之内有上涨超过68周的搜寻程式,可以帮我写出来吗? [MC]

  • MC用户求助:

    inputs:                                                                   

    PeriodsAgo( numericsimple ), maxindex(numericsimple);

    variables:

    var0( 0 ), flag(-1), varopen(0);

    arrays: arr0[](0) ;

    array_setmaxindex(arr0,maxindex);

    condition1 = (DayOfWeek( Date )=5 and time[1]<=1500 and time>1500) or (datetojulian(date)-datetojulian(date[1]))>=3 ;

    {condition1这个条件,请参考帖子https://forum.multicharts.cn/forum/cat/0/thread/497}

    if condition1 then begin

    varopen=open;

    flag=flag+1;

    end;

    if flag>=0 then begin

    if close>varopen then

    arr0[mod(flag,maxindex+1)]=1

    else

    arr0[mod(flag,maxindex+1)]=0;

    if periodsago<=mod(flag,maxindex+1) then

    _calvinsvaco=array_sum(arr0,mod(flag-periodsago,maxindex+1),mod(flag-1,maxindex+1))

    else if periodsago>mod(flag,maxindex+1) and flag>=1 then

    _calvinsvaco=array_sum(arr0,maxindex-(periodsago-mod(flag,maxindex+1)),maxindex)+array_sum(arr0,0,mod(flag-1,maxindex+1));

    end;

    这个函数返回的是过去PeriodsAgo个星期中上涨周K线的个数(可以用于“周”周期、“日”周期,以小于“日”周期的图表周期)

    //测试信号

    input: length(150);

    value1=_calvinsvaco(104,length);

    {调用上面的函数,返回104个周期中上涨周K线的个数;这里另外设置一个参数length,这个参数来自于初始参数(不可以动态更改),为的是使该函数_calvinsvaco的第一个参数可以动态变化,但是第一个参数必须小于第二个参数}

    if value1>68 then

    print(true);

     

  • MC回复讨论一:

    这个已经帮您写出来的,函数_calvinsvaco(104,length)的返回结果是过去104周中上涨周K线的数量,然后将这个返回结果与68进行比较,就可以输出一个true或者false的结果;如果这不是您的需求,那么您希望的输出结果是?请详细叙述一下

 

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

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


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

相关文章

    没有相关内容