发新话题
打印

[高级] 输出数据到Excel示例代码-南客

呵呵,挺热心的!好
[fly]得清闲尽快活,日月似穿梭过,富贵比花开落。青春去也,不乐如何![/fly]

TOP

请老师下载大盘数据

请老师下载论坛里的大盘数据,里面有我的想法和心愿。另外再次恳请老师将论坛里的数据删除,以免别的朋友化冤枉时间去下载。再次谢谢老师!

TOP

引用:
闲人 于 2004-3-14 11:39 写道:
请老师下载论坛里的大盘数据,里面有我的想法和心愿。另外再次恳请老师将论坛里的数据删除,以免别的朋友化冤枉时间去下载。再次谢谢老师!
我帮你将那些附件移到这个帖子了,以后附件直接跟贴回复,不要再放到另外帖子去了,谢谢

TOP

谢谢老师的提醒!老师在百忙中为我做了许多,尽管我的愿望暂时没能得到满足,但是让我体会到了老师为大家服务的热情,再次感谢老师!!!
      另外请老师点您发表的关于循环语句使用方法的教学贴子在哪里?我想去学习。谢谢老师!

TOP

  不知道这个数据是怎么制作的,但这样的数据估计制作不方便,使用也不大方便,其横向的日期相当于是字段,当时间很长时,字段不可能无限增加吧?
  对前面的代码稍加修改,可以显示到K线图的副图中,对数据情况不大了解,因此,代码中假设表格的数据都是2004年的。
复制内容到剪贴板
代码:
input:n(0,0,1);
fc:0,linethick0;
fy:=year; fm:=month; fd:=day;
gpdm:=stklabel;
<%
gpdm=ffl.vardata("gpdm")
vc=ffl.vardata("fc")
vy=ffl.vardata("fy")
vm=ffl.vardata("fm")
vd=ffl.vardata("fd")
n=ffl.vardata("n")
last=ubound(vc)
  Dim Conn, Rs, Driver, DBPath
  if n=0 then
    TableName="各股主力仓位"
    strp1=4 : strp2=4
  else
    TableName="各股体验数据"
    strp1=1 : strp2=2
  end if
  On Error Resume Next
  Set Conn = CreateObject("ADODB.Connection")
  Driver = "Driver={Microsoft Excel Driver (*.xls)};"
  DBPath = "DBQ=D:\FoxTrader_V3\各股体检数据.xls"  
  Conn.Open Driver & "ReadOnly=0;" & DBPath
  Set Rs = CreateObject("ADODB.Recordset")
  SQL=("SELECT * FROM [" & TableName & "$] where 名称 Like '%" & gpdm & "%'")  '只返回当前股票的数据
  Rs.Open SQL, Conn, 3, 2
  if Err.Number <> 0 or Rs.Recordcount=0 then
     'msgbox "数据不存在"
  else
    j=1
    for i=0 to last
      if strcomp(vy(i),"2004")=0 then
         vdate1=DateSerial(vy(i),vm(i),vd(i))
         vdate2=Cdate("2004-" & mid(rs(j).name,strp1,len(rs(j).name)-strp2))
        while vdate1>vdate2
          j=j+1
          vdate2=Cdate("2004-" & mid(rs(j).name,strp1,len(rs(j).name)-strp2))
          if j>rs.fields.count-1 then Exit for
        wend
        if vdate1=vdate2 then
          vc(i)=Rs(j).Value
          j=j+1
          if j>rs.fields.count-1 then Exit for
        end if
      end if
    next
  end if
ffl.vardata("fc")=vc
%>
STICKLINE(fc>0,0,fc,5,1),colorred;
STICKLINE(fc<0,0,fc,5,1),colorgreen;
附件: 您所在的用户组无法下载或查看附件

TOP

2张表格我都做在同一个工作薄中了,代码是按新工作薄来编制的。

TOP

这里的贴子,尽可能让其它的狐友,有互相交流学习的机会,数据表格还是不用删除吧:)

TOP

飞狐内置循环语句,跟VBS不大一样。VBS是一个完整的体系,功能非常强大,上面的代码使用的是VBS脚本语句。
飞狐内置循环语句的学习,可参见此贴:
http://bbs.fjfox.com/viewthread. ... ghlight=&page=1

TOP

确实让我感动的好老师

刚从老师的关于循环语句的贴子里下来就看到了老师给我定作的公式,心里真是一下惊喜万分,真让我太激动了!太感谢老师了!谢谢!谢谢!
    我将公式复制到软件里,副图中显示出了15根柱状图,体检数据没有显示,不管显示的数量有多少·着实让我高兴不己。
    至于数据本不是我本人制作的,是某咨询公司给每位会员发的,发来的格式也和现在的不同·第一列是沪深全部股票代码名称,第二列是日期,之后是数字,第一行第一列以次为名称、日期、主力资金、主力仓位、仓位比率等等。如果要看某只个股的详细数据还得让软件再计算,显示的方式参攻"大盘数据"里的"数据源".。我每天整理剪切成现在这样。平时查看起来极不方便,有好多会员还不会整理剪切,那样查看还要费时麻烦,所以我一直梦想能够将繁杂的数据引入飞狐做成公式·能方便的象调看kdj,macd就好了。苦于自已无才无学一直不能如愿。现在老师帮我实现了这愿望,怎能让我不激动呢!再次谢谢老师!并且我还要向其他会员朋友介绍,让他们知道飞狐有这么强大的功能。
    另外请教老师,怎样的电子表格才能更有利于公式的编写呢?照目前这样的表格每一单项(例如主力仓位)只能使用一个年度·第二年就得换一张,将来软件读取数据又是麻烦,请问老师有好的办法吗?在所有的数据中,主力仓位(显示主力增减仓的动作,有的长阳减仓,有的长阴增仓)、仓位比率(显示增减仓占流通盘的比率,大于千分之四说明主力有大规模增减仓的意图)、体检数据(体现股价的位置,零分以下不操作,上窜零关注有大规模建仓的股票。60分以上风险区,分值一下调即刻清仓)、市场均价(显示市场平均持筹成本)显得最为关键。好,令天就说到这里。老师说数据不删也罢,若能对大家有所帮助也是好事·建议下载大盘数看看,可能对大家会有所启迪。

TOP

不客气,飞狐可以实现的功能,远远比这里的示例代码要强大得多。

  1、体验数据也可以显示,是通过公式的参数来调节的。切换参数为0、或1时调整。
  2、假设共有3只股票,3天的数据,则只需做成下面的形式,用公式就很方便读取了,数据量应该可以很大,具体要看Execl对表格的行数有何限制。
  3、股票名称就不要了,飞狐可根据股票代码自动定位股票,可节省文件尺寸。
  4、大盘数据的表格,有空的时候我看看。
  5、股票代码,如果写成“000001]”的形式(即去掉前面的中括号),公式代码判断读取股票代码时,可以减少不少运算量。

[ 本贴由 南客 于 2004-3-15 01:02 最后编辑 ]
附件: 您所在的用户组无法下载或查看附件

TOP

Sorry,刚才看了Excel对表格行数的限制,是65536行。
看来用Excel来处理这种比较大的数据量的情况,不太好办。
如果做Excel表格比较方便的话,可以变通处理:
1、定期制作并更新Excel表格的内容
2、把Excel的数据内容,导出到Access数据库中
3、通过飞狐读取Access数据库

具体怎么把Excel的数据导向Access数据库,我没试过,可看看微软的相关文档,按理说是可以的,微软的office办公组件功能是很强大的,相互之间的转换、链接很方便。

TOP

表格原式样上传

附件: 您所在的用户组无法下载或查看附件

TOP

回复

很高兴又见到了老师。现将原表格式传给一老师看看,我今后按行往下累贴好呢还是按老方法(将第一行改写成标准的日期格式)好呢?按行往下贴大约50天换一张表。
      老师提议将Excel改成Access数据库,今后我会学着去做的。
       再次谢谢老师!晚安!

TOP

回复

再次烦请老师指教﹕
          按老师点拨,切换0或1·结果是换成0和原来显示的主力仓位一样,没有体检数据,切换成1则什么也不显示。由于上传文件不能太大·不得已只好删除部分股票和数据,所以传给老师的数据是不完整的,故而公式不能显示缺失的股票,正常。但是我将完整的表格换上后,原来不显示的股票还是不显示。换上去的表格最后的周期是4/12日,公式还是按老样子显示4/10日往前15根仓位柱状线,还请老师多指教。如若能显示更多的数据则更完美了。谢谢老师!哟·要向老师请早安了!再见!

TOP

引用:
yadi 于 2004-3-15 03:58 PM 写道:
请教hx817l老师 南客老师


老师能否同时将收盘价,最高价,最低价输出到Excel?
谢谢老师
可以的,参见示例进行修改。

TOP

引用:
闲人 于 2004-3-15 03:12 AM 写道:
再次烦请老师指教﹕
          按老师点拨,切换0或1·结果是换成0和原来显示的主力仓位一样,没有体检数据,切换成1则什么也不显示。由于上传文件不能太大·不得已只好删除部分股票和数据,所以传给老师的数 ...
  平时比较忙,上传的文件,我有空时看看
  前面的代码应该没有问题,但要用我上传的(修改过的)Excel表格才行。

TOP

谢谢

TOP

再次有请南客老师

南客老师,您好!
      按老师指点3月10日以后添加的数据可以全部显示在副图中,我想將03年数据也添加进去,由于不得要领怎么弄都不成功,请老师帮助.谢谢!

TOP

求助南客老师

南客老师您好!
       我知道老师为了我的公式花费了很多时间和精力,在此再次谢谢老师!
  我按照老师的指点学习怎样建立Access2000数据庫,由于我这方面的知识实在太差,目前还沒有这亇能力,只好用Excel代用了.下面上传一幅个股K线图请老师看一看,副图"主力仓位"就是用了老师给我编的公式,效果非常好,该股涨跌动因可以把握了。老师在公式中把日期设定为O4年,所以在图中也只是显示O4年以后的数据和图形.我在老师的公式中将全部"2004"改 成"2003",企盼能显示2003年以后的数据,但是不成功,实在没有办法只好再次烦请老师帮助指教,在公式中作怎样的修改才能在副图中显示O3年或者更长的历史数据呢?另外我还想知道老师是将"各股体检数据"和"各股主力仓位"编在同一亇公式里了吗?如果是的,切换N也不能显示"亇股体检数据",不知道怎样操作才能够显示?千万千万请老师帮我,谢谢老师!!!
   我将怀着忐忑的心情企盼着老师的好消息!
附件: 您所在的用户组无法下载或查看附件

TOP

求助南客老师

如能将下图和"主力仓位"同时在2幅图中显示多好啊!再次恳請老师给予帮助!在此表示衷心的感谢!!!
附件: 您所在的用户组无法下载或查看附件

TOP

感谢南客老师

在老师的公式里作了一些改动,已经能显示"亇股体检数据"了,真是太高兴了,谢谢老师!不过问题是历史数添加的问题还是介决不了,万望老师能给予帮助,谢谢老师!
附件: 您所在的用户组无法下载或查看附件

TOP

南客老师真是个热心人!!
受益匪浅!受益匪浅!!

TOP

有请南客 Hx817老师

下面几幅图里面的副图指标就是用了老师给编的公式。看:涨停,多诱人,骨子里在出货。一目了然。
附件: 您所在的用户组无法下载或查看附件

TOP

re

附件: 您所在的用户组无法下载或查看附件

TOP

发新话题
报警岗亭