以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  有关序列模式的疑惑  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=152423)

--  作者:phhd
--  发布时间:2017/5/3 15:57:49
--  有关序列模式的疑惑

老师好!我对序列模式不是很理解。下面第一段代码运行结果,得到m1与m2比较后的最大值;第二段代码运行结果,如果最后k线收阴则d为开盘价曲线,收阳则d为收盘价曲线,不是收盘、开盘比较后的较高者。为什么?谢谢!

 

 

                           第一段代码:

RUNMODE:1;
m1:=ma(c,5);
m2:=ma(c,10);

if m1>=m2 then dw:=m1;
else dw:=m2;

d:dw;

                            第二段代码:

RUNMODE:1;

m1:=ma(c,5);
m2:=ma(c,10);
if close>=open then dw:=close ;
else dw:=open;

d:dw;


--  作者:phhd
--  发布时间:2017/5/3 16:07:18
--  
第二段代码,如果换成d:max(c,o) 就可以得到开盘收盘的较高价曲线。这是为什么?
--  作者:gxx978
--  发布时间:2017/5/3 16:11:41
--  

1,序列模式只是在最后一根K上进行计算,历史K线上不计算。

2,close和open本身就是一个序列数组,所以最后返回的值就是一个开盘价曲线或是收盘价曲线。

3,补充:c>o,表示收阳,那返回的就是C,否则返回的就是O,那就是C和O的两者间的较高值啊。

[此贴子已经被作者于2017/5/3 16:17:42编辑过]

--  作者:phhd
--  发布时间:2017/5/3 16:23:54
--  
那么,m1与m2也是数组,如果在最后一根k上计算,那么当时如果m1大,d应该等于m1啊
--  作者:gxx978
--  发布时间:2017/5/3 16:28:10
--  

本地测试,m1大于m2的时候,那返回的确实是m1;m1小于m2,那返回的就是m2。你可以输出m1,m2的值比较下。


--  作者:phhd
--  发布时间:2017/5/3 16:30:16
--  

1,序列模式只是在最后一根K上进行计算,历史K线上不计算。

2,close和open本身就是一个序列数组,所以最后返回的值就是一个开盘价曲线或是收盘价曲线。

3,补充:c>o,表示收阳,那返回的就是C,否则返回的就是O,那就是C和O的两者间的较高值啊

 

我疑惑的是,如果按照1、2条推理第3条,最后一根k要么c大要么o大,返还的应该是要么是c要么是o。


--  作者:gxx978
--  发布时间:2017/5/3 16:34:12
--  
是的,返回的值是c或o,但反映到图上就是每根K线上的收盘价的曲线或是每根K线开盘价的曲线。不是最后一根K上的收盘价的值或是开盘价的值,不是一根直线。