被Currenttime搞昏头了,下例中显示的总是最新的本机时间,而不是开仓的时间???居然会动态更新,怎么回事啊?
用的是日内交易(日线级别),只交易一手。
If HOLDING=0 then //空仓时
begin
if 开多仓条件 then
begin
BUY(1,1,market); //开多
Topen:Currenttime,linethick0; //开仓时间
end
if 开空头条件 then
begin
BUYSHORT(1,1,market); //开空
Topen:Currenttime,linethick0; //开仓时间
end
End
问题出在哪啊?请赐教。
讲的没错,currenttime就是用户讲的动态更新显示最新时间,返回计算机时间,
用户想要在图表上记录下单的瞬时时间是不可行,在后台上能记录
图表上能被记录的是k线时间也就是time
有两个疑问:
1.Currenttime时间更新可以理解,但开仓时Topen:Currenttime, 也就是说Topen 把当时的时间记录下来了,难道Topen和Currenttime一样动态自我更新吗?
2.手册上说,Time对日线级别以上的周期无效,Time可以用在这里吗?我看论坛中很多日内交易的例子都有 time>091500 开仓,time>145500平仓的语句,怎么理解?
如果,Currenttime和time在这里都不能用,那如何得到开仓时间呢?谢谢!
1.想法是对的,但是实现的不对,topen这样的常规变量并没有记录瞬时时间的功能,
2.那么日线上就没办法了,图表上实现不了
介绍一个后台的办法:
if 开多条件 and 持仓判断 and time<>extgbdata('sj') then begin
tbuy(1,1,mkt);
extgbdataset('sj',time);
extgbdataset('kd',dynainfO(207));
end
ee:=extgbdata('kd');
ee就能获取开多的瞬时时间
抱歉回晚了,大师的一句话让我理解了3个多小时,现在还是懵懵懂懂,似乎有点开窍。大师就是大师啊 !
1. ”topen这样的常规变量并没有记录瞬时时间的功能”。——是不是Topen:=Currenttime,得到的并不是Currenttime的值,而是它的地址指针?于是,Topen才会自动更新? 同样,Topen:=time,Topen:=dynainfO(207) 赋值的也是地址指针? 我的理解对吗?
2. 老问题:手册上说,Time对日线级别以上的周期无效,我看论坛中很多日内交易的例子都有 time>091500 开仓,time>145500平仓的语句,怎么理解?
请大师赐教,谢谢!
1.可以这样理解,time和currenttime的区别就是time有历史记录,所以可以回溯回去看到历史上的值,而currenttime就只有最新只了
2.日内交易并不一定是要用在日线上行的,1分钟k线上也能做日内交易,用time自然就可以了
谢谢,对金字塔的理解加深了!
题外话,要是也有一个象enterprice的开仓时间entertime, 不是都简单解决了吗?这样图表模式也可以使用了,方便精确调试程序。
再次感谢大师!
并不能,图表是虚拟信号虚拟资金的,用户想要的实际信息,就没办法获取的