金字塔决策交易系统

标题: 求教怎么写一个指标,只在指定日期进行计算 [打印本页]

作者: damayi    时间: 2023-3-17 09:57
标题: 求教怎么写一个指标,只在指定日期进行计算
怎么写一个指标,只在我指定的日期时,进行计算(指定的日期可能有很多是我体现写好的),其他日期值为0

作者: 技术009    时间: 2023-3-17 10:16
一般这种是这样的。指标正常计算。但是取值使用时候 在指定条件下执行。

比如只在 今天输出30周期均线:
ma30:=ma(c,30);
if date=CURRENTDATE then ma1:ma30;


作者: damayi    时间: 2023-3-17 10:29
技术009 发表于 2023-3-17 10:16
一般这种是这样的。指标正常计算。但是取值使用时候 在指定条件下执行。

比如只在 今天输出30周期均线 ...

我主要想将date换成一个集合或数组,因为有多个日期,这种怎么写?
作者: 技术009    时间: 2023-3-17 10:33
本帖最后由 技术009 于 2023-3-17 10:35 编辑

数组你可以自己定义,然后你遍历数组里的日期,然后判断当前日期是否满足。

类似这样 定义一个数组:
VARIABLE:X[3]:=(1,2,3);

但是怎么说呢。这种写法每次执行代码都要循环遍历数组 然后做判断,效率上来说 多了很多冗余计算。




作者: damayi    时间: 2023-3-17 10:43
技术009 发表于 2023-3-17 10:33
数组你可以自己定义,然后你遍历数组里的日期,然后判断当前日期是否满足。

类似这样 定义一个数组:

比如我定义一个数组VARIABLE:X[3]:=(20230313,20230314,20230315);
如果想当date满足数组里的日期时,就进行计算,否则值是0,这种怎么写?
作者: 技术009    时间: 2023-3-17 10:43
循环一个个对比。没有其他好的方式。
具体参考for循环使用:
https://www.weistock.com/docs/PE ... F%E8%AF%AD%E5%8F%A5

作者: damayi    时间: 2023-3-17 10:44
技术009 发表于 2023-3-17 10:43
循环一个个对比。

举个例子吧,就是不知道该怎么写才问的
作者: 技术009    时间: 2023-3-17 10:48
cd:0;
for i=1 to  3 do
begin
if date=X then cd:=1;
if cd then BREAK;
end

以cd作为条件就行了
另外你日期格式写的也不对。你自己输出date看下格式吧。





欢迎光临 金字塔决策交易系统 (https://www.weistock.com/BBS/) Powered by Discuz! X3.4