以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  怎样让后台成交记录回放到逐K线图表上?  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=12392)

--  作者:wsanle
--  发布时间:2012/6/13 9:50:54
--  怎样让后台成交记录回放到逐K线图表上?

请教管理员:

我已经将后台自动交易的记录通过VBA实时的记录到\\TradeAccess.mdb数据库Mytradetable表中,主要包括记录号、开或平、成交量、成交价,其中记录号字段的格式是通过Cdate(Now)函数,直接记录的日期型数据“2012-06-08 09:32:00”,并作为排序或索引的关键字;开或平字段记录是开仓还是平仓;成交量和成交价是记录开平仓时的量和价格。

    现在我想到达的目标:从数据库中按成交日期时间关键字的排序取出所有数据,在逐K线图表上对应时间模拟成交?即再现后台自动交易的开平仓状况,以便分析改进模型。

    我设计的采用方法有:

      一、在公式中设置4个数组,分别对应记录号、开或平、成交量、成交价4个数据库字段,一次性从数据库中按记录号排序的顺序取出全部记录,再根据记录号,用FINDINDEXBYTIME(记录号)函数找到对应的K线位置,用Buy、Buyshort等开平仓指令在图表上开平仓;

      二、从公式中直接按顺序读取数据库中的记录,用FINDINDEXBYTIME(记录号)函数找到对应的K线位置后,图表开平仓,但效率很低;

      三、用VBA建立4个数组,将所有数据库记录读入到数组中,建立自定义函数,采用公式中FFL.VarData函数和VBA传送数据,再用FINDINDEXBYTIME(记录号)函数找到对应的K线位置后,图表开平仓;

    现在我遇到的难题是:

    一、怎样采用金字塔公式中操作数据库的函数DBEXECUTE(SQL),DBTABLE2(SQL),DBVALUE(S)等,按排序篇历数据库?即:能否采用DBEXECUTE(SQL)函数,在金字塔公式中使用“ADODB.RecordSet"对象组件的指针MoveFirst、MoveLAST、MoveNEXT,GetRows,Record.Count等,怎么使用?

   二、如果我用VBS数组将数据库中的数据读入到数组中后,可否用FFL.VarData逐K线读取后台数组中数据,怎样读取?

 

    谢谢,请帮忙解答,我找不到金字塔有关这方面的资料,请管理员不吝赐教,先谢谢了!

 


--  作者:王锋
--  发布时间:2012/6/26 23:13:57
--  怎么不能平空和开多、平多和开空同时出现呢?
你只是需要在图表上现实信号吗?
那样的话使用Shifit+B功能就行了,就可以在图表上显示出对应的交易信号标识了。