以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 如何获取自定义任意周期的判别? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=173865) |
-- 作者:cyan -- 发布时间:2020/1/7 0:12:22 -- 如何获取自定义任意周期的判别? 例如,我需要40秒周期运行,如何判断当前就是40秒周期? |
-- 作者:wenarm -- 发布时间:2020/1/7 8:09:57 -- 这种方式不保证完全正确。请酌情使用 ##枚举周期参数 |
-- 作者:cyan -- 发布时间:2020/1/7 9:26:50 -- 好的谢谢。 那么有无方法可以固定指标的不同参数于各个不同周期? 例如: kdj 1分钟 周期设置为12 kdj 20秒参数设置为 24 1分钟,20秒并不局限于周期设置里的“多分”,“多秒”等固定周期。 希望可以代码判别。
|
-- 作者:FireScript -- 发布时间:2020/1/7 9:33:39 -- 只能用前面的方式先判断周期,判断完之后给指标参数赋值。但是这个参数不能用INPUT定义,只能自行定义成普通变量。 大概类似这样: if DATATYPE=1 then N:=12;//如果当前是1分钟。N重新赋值为1. 其中N是KDJ的某个参数 . . . RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1); D:=SMA(K,P2,1); J:3*K-2*D,NODRAW; |
-- 作者:cyan -- 发布时间:2020/1/7 16:03:16 -- 其实我想问,只能判定周期设置中设定好的多秒,多分等等的周期,无法支持多种类似’20秒,40秒,3秒‘等周期的判定是吗? if 周期为 30秒 then a=XXX 这种 if 周期为 40秒 then a=XXX 这种 我在通达信的方法是: 设定任意周期,如 20秒,50秒两种,然后系统就会有这20秒和50秒的period值,然后 if(period=19(比如20秒周期的值是19),1,0); |
-- 作者:FireScript -- 发布时间:2020/1/7 16:12:51 -- 也能做到的,有一个函数可以读取当前的多秒/分/时。 DATATYPEMORE 函数就可以的。 但是这个也要先判断是多秒/多分/多时 然后再去读取。
|
-- 作者:FireScript -- 发布时间:2020/1/7 16:15:16 -- if DATATYPE=13 and DATATYPEMORE(2)=20 then N:=12;//如果当前是多分钟 且是20分钟。N重新赋值为1. 其中N是KDJ的某个参数 . . . RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,P1,1); D:=SMA(K,P2,1); J:3*K-2*D,NODRAW; |
-- 作者:cyan -- 发布时间:2020/1/7 16:17:56 -- 哈哈哈,谢谢! 原来是这样用的! |
-- 作者:FireScript -- 发布时间:2020/1/7 16:21:24 -- 需要注意的是DATATYPEMORE函数是只能读取多秒 多分钟 这种自定义周期数的。你可以输出下它的返回值测试下。 |
-- 作者:cyan -- 发布时间:2020/1/7 21:03:26 -- 以下代码完美判别,R为参数输入。 if DATATYPE=14 and DATATYPEMORE(3)=r then BEGIN echo:r,NODRAW,coloryellow; end
|