以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  程序编写问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=100085)

--  作者:FloraQ
--  发布时间:2016/7/4 16:42:18
--  程序编写问题
有一个序列3 3 1 3,我的逻辑是:如果1前面是3 那么将1改成3,如果3前面是1那么,将3变成1.也就是我的目标序列是 3 3 3 3,但是通过下面这段代码得到的却是 3 3 3 1,请问这是怎么回事?我的赋值语句有问题吗?
ZZ:REF(STATES,1);
IF STATES=3 AND ZZ=1 THEN STATES:=1;
IF STATES=1 AND ZZ=3 THEN STATES:=3;


--  作者:FloraQ
--  发布时间:2016/7/4 16:47:30
--  
谁来回答我?图片点击可在新窗口打开查看
--  作者:wenarm
--  发布时间:2016/7/4 16:48:48
--  

贴出你完整的代码。你的序列是采用数组的方式?

另外你的序列是就是这4个数值?

 

[此贴子已经被作者于2016-7-4 16:50:34编辑过]

--  作者:FloraQ
--  发布时间:2016/7/4 16:52:06
--  
逐K线模式,这是我截取的四根K线上的变量值
--  作者:FloraQ
--  发布时间:2016/7/4 16:56:07
--  
逐K线模式,这是我截取的四根K线上的变量值。跟完整代码关系不大,注释掉这三行,原序列就是 3 3 1 3,删除注释后则是3 3 3 1。在金字塔的语法逻辑中,这三行应该把这四个数字变成什么呢?可以实现我的想法吗?还是我逻辑错误了?
--  作者:wenarm
--  发布时间:2016/7/4 17:13:39
--  

STATES是什么?你试要取最近的4个变量,数组长度是固定的?

如果1前面是3 那么将1改成3,如果3前面是1那么,将3变成1.,我这边的理解就是,只要判断第一个值是多少,后面直接改成和一个个值一样的。


--  作者:百湛必胜客
--  发布时间:2016/7/4 17:46:49
--  
variable:zz=0;
zz:=if(zz=3 and state=1,3,if(zz=1 and state=3,1,state));