以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请帮助我解决一个调用问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=87145)

--  作者:zxsd
--  发布时间:2015/11/10 15:11:20
--  请帮助我解决一个调用问题
 之前提问了解到,一个公式中跨周期调用数据最多50个

现在的需求是:
1.确认其他周期ma方向

原本我想使用:
STKINDI(\'\',\'MA.MA1(5)\',0,7,0)
STKINDI(\'\',\'MA.MA1(5)\',0,7,-1)
相减来确定方向,但是由于周期太多并且一个周期这样做要引用两次(不偏移和偏移1周期)才能确定一个方向,导致最后跨周期引用超过50。

所以现在我想换个方法,使用STKINDI(\'\',\'MA.MA1(5)\',0,7,0)引用后加上REF一定周期来取到偏移1周期的值,比如:
AA=:STKINDI(\'\',\'MA.MA1(5)\',0,7,0);
REF(AA,一定周期);
这样再相减求方向

那么现在的问题是:如何能准确无误地确定月、周、日的“一定周期”,因为有时候每个月交易天数都不一样,要在各种节日休盘后正确取得
非常感谢

如果有其他方法能求得跨周期MA方向也可以
[此贴子已经被作者于2015/11/10 15:12:40编辑过]

--  作者:jinzhe
--  发布时间:2015/11/10 15:23:58
--  

这样的偏移用法是典型的错误,除了引用当前周期的数据其他都是错的,只能是在引用语句里面写上-1,-2这样的才是往前引用

你举个一定周期具体点的例子


--  作者:zxsd
--  发布时间:2015/11/10 15:38:20
--  
 我琢磨出来了
使用:
日线MA:=STKINDI(\'\',\'MA.MA1(5)\',0,6,0);
VALUEWHEN(日线MA<>REF(日线MA,1),REF(日线MA,1));


我举个例子,比如用在5分钟上来判断当前日线MA的方向
日线MA:=STKINDI(\'\',\'MA.MA1(5)\',0,6,0);
日线MA2:=STKINDI(\'\',\'MA.MA1(5)\',0,6,-1);

根据    日线MA-日线MA2  大于0还是小于0判断方向



如果只引用一次:
日线MA:=STKINDI(\'\',\'MA.MA1(5)\',0,6,0);
那么就要
日线MA-REF(日线MA,93)    大于0还是小于0判断方向
这个93就是一定周期,因为每天不一样,有时候夜盘不交易,所以想通过调用一次得出“上一次日线MA的值”就得用VALUEWHEN