您现在的位置:>>
>>正文内容
[求助]各位大仙,路过请留步,关于vba,qq发送 [金字塔]
咨询内容:
首先感谢论坛的管理员,搞出很好的qq发送功能。谢谢
之后是一些我在使用中遇到的问题。恳请大家帮助
金字塔***:
Sub APPLICATION_VBAStart()&call Application.SetTimer(0,300) '创建一个0号定时器,间隔时间3秒End Sub
Sub APPLICATION_Timer(ID)Set Formula = marketdata.STKINDI("510180","sh","短线1号",0,0)'品种、周期、指标修改为自己需要的。&&& bb =& Formula.GetBufData("buy1",Formula.DataSize-1) '显示最后周期指标线数值&&& ss = Formula.GetBufData("sell1",Formula.DataSize-1) '显示倒数第二周期指标线数值&&&&&&& set Report1 = marketdata.GetReportData("510180","sh")&&& ifjg = Report1.NewPrice&&& set Report1 = marketdata.GetReportData("if00","zj")&&& ifjg1 = Report1.NewPrice &&& Set obj = CreateObject("WWSCommon.TCGroup")&&& bq = "&&股指期货对冲进出场信号系统&&"'这里是信号之前的版权(广告)&&& IF& bb&0 then&&&&&& mxmsg =vbCrLf&& bq &" " & Date &" " &time&vbCrLf&"上证180etf"&"-----"&"买入价格---0"&ifjg&vbCrLf&"股指期货当月"&"---"&"卖出价格---"&ifjg1&&&&&& 'application.MsgOut mxmsg&&&&&& call obj.TransMessage("邓艾黎源", mxmsg)&&&&&& Set obj = Nothing&&& elseIF& ss&0 then&&&&&& mxmsg =vbCrLf&& bq &" " & Date &" " &time&vbCrLf&"上证180etf"&"-----"&"卖出价格---0"&ifjg&vbCrLf&"股指期货当月"&"---"&"买入价格---"&ifjg1&&&&&& 'application.MsgOut mxmsg&&&&&& call obj.TransMessage("邓艾黎源", mxmsg)&&&&&& Set obj = Nothing
&&& else&&&& 'mxmsg =bq &" " && Date &" " &Time&vbCrLf&"暂无变化,保持之前状态。"&&&& 'application.MsgOut mxmsg&&&& 'call obj.TransMessage("邓艾黎源", mxmsg)&&&& 'Set obj = Nothing&&& end if &&&&&& end sub
Sub qq()&&& call APPLICATION_Timer(ID)End Sub
用户回复:
请告知你具体遇到了什么问题
网友回复:
我是用在分笔上的,分别引用的510180和if00两个分笔数据,在510180上面,目的是看价差波动
现在发送是发送,但是不稳定,遗漏,延时,不对应等等。。。。。。。。。。。。问题很多,想请大家帮忙看看,能否改进。
我认为可能错误的地方:
1.定时器设定,究竟是多少比较好呢?对于分笔而言,中间的300是毫秒?那么折算成秒是多少秒?对于股指期货而言,一天大约是30000比以内,那么怎样的计时器,做到有可以不漏掉监控,有不至于太耗费资源呢?另外该计时器是否控制发送频率?那么在信号产生之后,正常情况应该触发发送。如果计时器小于分笔频率,假定分笔到分笔为均等的1秒,那么上面的计时器会在该分笔触发几次。我是完全不懂,请教了。究竟怎样的设定是正确与合理的。
2.Set Formula = marketdata.STKINDI("510180","sh","短线1号",0,0)'品种、周期、指标修改为自己需要的。原文为3分钟,我如果希望分笔上面根据指标值是否可以呢??????????
3.&&& bb =& Formula.GetBufData("buy1",Formula.DataSize-1) '显示最后周期指标线数值&&& ss = Formula.GetBufData("sell1",Formula.DataSize-1) '显示倒数第二周期指标线数值
这个应该是引用指标线的值,原文是cc和refcc的值,即指标最后和最后倒数一根的值,我现在是引用两根指标线的值,不知道写的是否对,声明buy1和sell1就是开仓和平仓信号,并且在指标内已经正常显性。
4.set Report1 = marketdata.GetReportData("510180","sh")&&& ifjg = Report1.NewPrice&&& set Report1 = marketdata.GetReportData("if00","zj")&&& ifjg1 = Report1.NewPrice &&& Set obj = CreateObject("WWSCommon.TCGroup")&&& bq = "&&股指期货对冲进出场信号系统&&"'这里是信号之前的版权(广告)&&& IF& bb&0 then,这里更改了原作的广告部分内容,谅解。刚发现有两个Report1,自己修正一下。
5.Set obj = CreateObject("WWSCommon.TCGroup")&&& bq = "&&股指期货对冲进出场信号系统&&"'这里是信号之前的版权(广告)&&& IF& bb&0 then&&&&&& mxmsg =vbCrLf&& bq &" " & Date &" " &time&vbCrLf&"上证180etf"&"-----"&"买入价格---0"&ifjg&vbCrLf&"股指期货当月"&"---"&"卖出价格---"&ifjg1&&&&&& 'application.MsgOut mxmsg&&&&&& call obj.TransMessage("邓艾黎源", mxmsg)&&&&&& Set obj = Nothing&&& elseIF& ss&0 then&&&&&& mxmsg =vbCrLf&& bq &" " & Date &" " &time&vbCrLf&"上证180etf"&"-----"&"卖出价格---0"&ifjg&vbCrLf&"股指期货当月"&"---"&"买入价格---"&ifjg1&&&&&& 'application.MsgOut mxmsg&&&&&& call obj.TransMessage("邓艾黎源", mxmsg)&&&&&& Set obj = Nothing
&&& else&&&& 'mxmsg =bq &" " && Date &" " &Time&vbCrLf&"暂无变化,保持之前状态。"&&&& 'application.MsgOut mxmsg&&&& 'call obj.TransMessage("邓艾黎源", mxmsg)&&&& 'Set obj = Nothing&&& end if
这里我想请教两个问题。
1.语法对吗,因为原创的进出,多空4种情况,我实际只需要进出就可以了,所以这样写if.....then....elseif....then......else是否可以,我完全不懂的。
2.买入和平仓这样写可以吗????分笔上,我在图标上见到的指标信号是正常的,即buy1--bb,sell1--ss没有信号是0,有信号是1,不知道在vba中需要怎样的描述才正确。
之后就是改了发送条件,发送群的设定。
Sub qq()&&& call APPLICATION_Timer(ID)End Sub
这句必须要加吗????
网友回复:
Sub APPLICATION_VBAStart()&call Application.SetTimer(0,300) '创建一个0号定时器,间隔时间3秒End Sub
Sub APPLICATION_Timer(ID)Set Formula = marketdata.STKINDI("if00","zj","短线1号",0,17)'品种、周期、指标修改为自己需要的。&&& cc =& Formula.GetBufData("mxcc",Formula.DataSize-1) '显示最后周期指标线数值&&& refcc = Formula.GetBufData("mxcc",Formula.DataSize-2) '显示倒数第二周期指标线数值&&&&&&& set Report1 = marketdata.GetReportData("if00","zj")&&& ifjg = Report1.NewPrice&&& Set obj = CreateObject("WWSCommon.TCGroup")&&& bq = "明心股指日内3分钟"'这里是信号之前的版权(广告)&&& IF refcc=0 and cc&0 then&&&&&& mxmsg = bq &" " & Date &" " &Time&vbCrLf&"股指期货"&" " &ifjg&" " &"开多"&cc&"手。"&&&&&& 'application.MsgOut mxmsg&&&&&& call obj.TransMessage("程序化初级群", mxmsg)&&&&&& Set obj = Nothing&&& elseIF refcc&0 and cc=0 then&&&&&& mxmsg = bq &" " && Date &" " &Time&vbCrLf&"股指期货"&" " &ifjg&" " &"平多"&refcc&"手。"&&&&&& 'application.MsgOut mxmsg&&&&&& call obj.TransMessage("程序化初级群", mxmsg)&&&&&& Set obj = Nothing&&& elseIF refcc=0 and cc&0 then&&&&&& ss = 0-cc&&&&&& mxmsg = bq &" " && Date &" " &Time&vbCrLf&"股指期货"&" " &ifjg&" " &"开空"&ss&"手。"&&&&&& 'application.MsgOut mxmsg&&&&&& call obj.TransMessage("程序化初级群", mxmsg)&&&&&& Set obj = Nothing&&& elseIF refcc&0 and cc=0 then&&&&&& ss = 0-refcc&&&&&& mxmsg = bq &" " && Date &" " &Time&vbCrLf&"股指期货"&" " &ifjg&" " &"平空"&ss&"手。"&&&&&& 'application.MsgOut mxmsg&&&&&& call obj.TransMessage("程序化初级群", mxmsg)&&&&&& Set obj = Nothing&&& else&&&& 'mxmsg =bq &" " && Date &" " &Time&vbCrLf&"暂无变化,保持之前状态。"&&&& 'application.MsgOut mxmsg&&&& 'call obj.TransMessage("程序化初级群", mxmsg)&&&& 'Set obj = Nothing&&& end if &&&&&& end sub
Sub qq()&&& call APPLICATION_Timer(ID)End Sub
此为明心老大的原文,版权所有,本人修改,冒犯请原谅!
【字体: 】【】【】
没有相关内容
本月热门排行
会员登录/注册