Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:运行周期判断

1楼
yoyoma_2008 发表于:2018/6/25 19:50:53
我想在大于10s以上的周期中执行如下代码,

这个怎么表达?有没有查询返回周期的函数,如果没有能不能加一下

目的就是希望在很小的周期下不用执行下面很复杂的代码了,只要在大周期运行即可
2楼
yoyoma_2008 发表于:2018/6/25 19:59:30
公式里面有个使用周期,这个我觉得不能满足我的要求,我想要的是大于10s的所有周期,这个有没有解决办法
3楼
wenarm 发表于:2018/6/26 8:42:39

没有这类函数,

你可以通过下下面方式处理

aa:VALUEWHEN(TODAYBAR=1,time);
bb:VALUEWHEN(TODAYBAR=2,time);
M1:TIMETOT0(BB)- TIMETOT0(aa);

 

[此贴子已经被作者于2018/6/26 8:44:54编辑过]
4楼
FireScript 发表于:2018/6/26 13:38:24


aa和bb取的是第一个K和第二个K的时间。
然后做一个差值,如差值大于10s,说明大于10s。其他的以此类推。


[此贴子已经被作者于2018/6/26 14:00:49编辑过]
5楼
yoyoma_2008 发表于:2018/6/26 15:15:49
怎么让这段代码在逐K计算仅刷最后一根的模式中,执行一次
variable:yyy=0;
if yyy=0 then 
begin
aa:=VALUEWHEN(TODAYBAR=1,time);
bb:=VALUEWHEN(TODAYBAR=2,time);
M1:=TIMETOT0(BB)- TIMETOT0(aa);
yyy:=1;
end

这样写可以只执行一次吗?
6楼
yoyoma_2008 发表于:2018/6/26 15:17:35
你发的代码还有点问题,就是不能用于日线以上的周期,我希望日线以上的周期也要执行后续代码


使用你这个代码后,我发现日线以上周期都没有执行后续代码了
7楼
yoyoma_2008 发表于:2018/6/26 15:19:02
但是编译不通过,说VALUEWHEN不能用在if控制中,这该怎么办
8楼
admin 发表于:2018/6/26 15:41:34

分笔周期和日线周期以上的,都不行。你自己通过DATATYPE组合使用。

 

VALUEWHEN这个是必须放在if外头,

 

9楼
FireScript 发表于:2018/6/26 15:45:24
一般不能放在if条件下的函数等,都需要放到if外部先计算好,然后在if语句下面引用计算好的结果。
10楼
wenarm 发表于:2018/6/26 15:50:37
以下是引用yoyoma_2008在2018/6/26 15:15:49的发言:
怎么让这段代码在逐K计算仅刷最后一根的模式中,执行一次
variable:yyy=0;
if yyy=0 then 
begin
aa:=VALUEWHEN(TODAYBAR=1,time);
bb:=VALUEWHEN(TODAYBAR=2,time);
M1:=TIMETOT0(BB)- TIMETOT0(aa);
yyy:=1;
end

这样写可以只执行一次吗?

你不要想着脱离公式执行的刷新机制。你前面说的是想控制策略只在10秒周期以上运行,直接把我给你的代码这个放在策略最前面,不满足直接结束运行

aa:=VALUEWHEN(TODAYBAR=1,time);
bb:=VALUEWHEN(TODAYBAR=2,time);
M1:=TIMETOT0(BB)- TIMETOT0(aa);
if M1<10 then  exit;
 
 

 

共11 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.05469 s, 3 queries.