以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [原创]在一分钟周期上,当前周期结束时如果获取当前周期的最高价、最低价、开盘价、收盘价、成交量、时间、日期。  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=86233)

--  作者:wcsmomo
--  发布时间:2015/10/15 15:46:52
--  [原创]在一分钟周期上,当前周期结束时如果获取当前周期的最高价、最低价、开盘价、收盘价、成交量、时间、日期。
后台交易程序里,在一分钟周期上,当前周期结束时如果获取当前周期的最高价、最低价、开盘价、收盘价、成交量、时间、日期。
myClose := CLOSE; 
myOpen := OPEN;
myHigh := HIGH;
myLow := LOW;
myVol := VOL;
myTime := TIME;
myDate := DATE; 

我用这些函数,但返回的是一个数组。

--  作者:jinzhe
--  发布时间:2015/10/15 15:52:55
--  
  if timetot0(dynainfo(207))=time0-1 then begin
extgbdataset(\'myClose\', CLOSE); 
extgbdataset(\'myopen\', open); 
extgbdataset(\'myhigh\', high); 
extgbdataset(\'mylow\', low); 
extgbdataset(\'myvol\', vol); 
extgbdataset(\'mytime\', time); 
extgbdataset(\'mydate\', date+19000000); 
end
 
 用extgbdata来获取

--  作者:wcsmomo
--  发布时间:2015/10/15 15:54:30
--  
非常谢谢,我试试.......
--  作者:wcsmomo
--  发布时间:2015/10/15 16:16:23
--  
你好,用你给的方法运行不了,我不太明白你的这段程序的意思,为什么要把这些值压入全局变量呢,所以还想请教一下........

我的程序全部代码是这样的,在换上你给的这段代码的时候是好用的

DEBUGOUT(\'开始执行=%.0f\',OPEN);
//myClose := CLOSE; 
//myOpen := OPEN;
//myHigh := HIGH;
//myLow := LOW;
//myVol := VOL;
//myTime := TIME;
//myDate := DATE; 

if timetot0(dynainfo(207))=time0-1 then begin
extgbdataset(\'myClose\', CLOSE); 
extgbdataset(\'myOpen\', open); 
extgbdataset(\'myHigh\', high); 
extgbdataset(\'myLow\', low); 
extgbdataset(\'myVol\', vol); 
extgbdataset(\'myTime\', time); 
extgbdataset(\'myDate\', date+19000000); 
end

<%  
 myCloses =ffl.vardata("myClose")
 
 myClose = myCloses(2) 
 myOpens =ffl.vardata("myOpen")
 
 myOpen = myOpens(2)
 myHighs =ffl.vardata("myHigh")
 
 myHigh = myHighs(2)
 myLows =ffl.vardata("myLow")
 
 myLow = myLows(2)
 myVols =ffl.vardata("myVol")
 
 myVol = myVols(2)
 myTimes =ffl.vardata("myTime") 
 myTime = myTimes(2)
 myDates =ffl.vardata("myDate")
 
 myDate = myDates(2)
 msgbox myDate
  
Dim conn
Dim Rst
Dim strCnn
 
Const strC

Set conn = CreateObject("adodb.connection")
conn.Open strConn

\'查看是否连接成功,成功状态值为1
\'msgbox Conn.state
\'If Conn.State = 0 Then
\'   msgbox  "连接数据库失败"
\'else
\'  msgbox   "连接数据库成功"
\'End If
Set Rst =CreateObject("ADODB.Recordset")
 Rst.open "insert into spr_candle_line(high,low,opens,closes,vol,times,dates) values("&myHigh&","&myLow&","&myOpen&","&myClose&","&myVol&","&myTime&","&myDate&")",conn
  
\'Rst.open "insert into spring_test(test_no) values("&myClose&")",conn
\'msgbox "数据库插入成功"
\'Rst.open "select test_no from spring_test",conn
\'While not Rst.eof \'
\' test_no = Rst("test_no").value
\' msgbox test_no
\' Rst.movenext
\'wend
\'Rst.open "update spring_test set test_no = 9999999",conn
\'Rst.close        \'关闭记录集
Set Rst=nothing         \'释放对象
conn.close        \'关闭连接
Set cnn=nothing        \'释放对象
%>

DEBUGOUT(\'执行结束=%.0f\',CLOSE)



--  作者:jinzhe
--  发布时间:2015/10/15 16:28:19
--  

你要获取的是瞬时的值,所以在PEL里面用全局变量来获取是非常有效的

但是看你用的不是PEL,那么请用户前往高级区发帖咨询


--  作者:wcsmomo
--  发布时间:2015/10/15 16:29:00
--  
上说错了,换上你的程序后就不好用了,之前是好用的
--  作者:wcsmomo
--  发布时间:2015/10/15 16:30:25
--  
好的