Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:任意3根均线5日内先后金叉,则赋值为1.请问该怎么写?

1楼
qq代人发帖 发表于:2017/10/27 10:28:41
请教:假设有5根均线,若其中任意3根均线5日内先后金叉,则赋值为1.请问该怎么写?
2楼
FireScript 发表于:2017/10/27 10:49:38

同样2个均线多次金叉怎么算(比如均线1上穿2次均线2)?另外你运行周期是什么周期,日线周期吗?

[此贴子已经被作者于2017/10/27 10:58:37编辑过]
3楼
lbo 发表于:2017/10/27 11:08:49
多次金叉,只算最近的1次,只要最近有3根均线金叉就可以;日线周期。谢谢!
4楼
FireScript 发表于:2017/10/27 13:26:06

没想到简单的办法,直接暴力计算吧。

ma1:ma(c,n1);
ma2:ma(c,n2);
ma3:ma(c,n3);
ma4:ma(c,n4);
ma5:ma(c,n5);

a1:=cross(ma1,ma2),NODRAW;
a2:=cross(ma1,ma3),NODRAW;
a3:=cross(ma1,ma4),NODRAW;
a4:=cross(ma1,ma5),NODRAW;
a5:=cross(ma2,ma3),NODRAW;
a6:=cross(ma2,ma4),NODRAW;
a7:=cross(ma2,ma5),NODRAW;
a8:=cross(ma3,ma4),NODRAW;
a9:=cross(ma3,ma5),NODRAW;
a10:=cross(ma4,ma5),NODRAW;

s1:=count(a1<>0,5)>=1;
s2:=count(a2<>0,5)>=1;
s3:=count(a3<>0,5)>=1;
s4:=count(a4<>0,5)>=1;
s5:=count(a5<>0,5)>=1;
s6:=count(a6<>0,5)>=1;
s7:=count(a7<>0,5)>=1;
s8:=count(a8<>0,5)>=1;
s9:=count(a9<>0,5)>=1;
s10:=count(a10<>0,5)>=1;

z:if(s1+s2+s3+s4+s5+s6+s7+s8+s9+s10>3,1,0);//目标值

 

 

5楼
lbo 发表于:2017/10/27 13:42:35
谢谢!
可以用循环语句吗?
6楼
lbo 发表于:2017/10/27 13:52:09
variable:z[5]=0;
A1:MA(C,5);
A2:MA(C,10);
A3:MA(C,15);
A4:MA(C,20);
A5:MA(C,30);


z[1]:=A1;z[2]:=A2;z[3]:=A3;z[4]:=A4;z[5]:=A5;
zd:=0;

for k=1 to 3 DO
begin
if CROSS(z[k],z[k+1]) and ANY(CROSS(z[k],z[k+2]),5) then zd:=1;
end


提示这个CROSS不能放在循环语句,该怎么修改呢?
[此贴子已经被作者于2017/10/27 13:53:02编辑过]
7楼
FireScript 发表于:2017/10/27 13:54:13
以下是引用lbo在2017/10/27 13:52:09的发言:
variable:z[5]=0;
A1:MA(C,5);
A2:MA(C,10);
A3:MA(C,15);
A4:MA(C,20);
A5:MA(C,30);


z[1]:=A1;z[2]:=A2;z[3]:=A3;z[4]:=A4;z[5]:=A5;
zd:=0;

for k=1 to 3 DO
begin
if CROSS(z[k],z[k+1]) and ANY(CROSS(z[k],z[k+2]),N1) then zd:=1;
end


提示这个CROSS不能放在循环语句,该怎么修改呢?

除非把cross单独在外面计算好,然后放到循环里面去才行。。。所以只能一个个计算了。

8楼
lbo 发表于:2017/10/27 14:37:11
好的,谢谢谢谢!
共8 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01602 s, 3 queries.