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 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容