[求助]各位大仙,路过请留步,关于vba,qq发送 [金字塔]
- 咨询内容:
首先感谢论坛的管理员,搞出很好的qq发送功能。谢谢
之后是一些我在使用中遇到的问题。恳请大家帮助
- 金字塔客服:
Sub APPLICATION_VBAStart()
call Application.SetTimer(0,300) '创建一个0号定时器,间隔时间3秒
End SubSub 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 = Nothingelse
'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 = Nothingelse
'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 SubSub 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 subSub qq()
call APPLICATION_Timer(ID)
End Sub此为明心老大的原文,版权所有,本人修改,冒犯请原谅!
- 上一篇:[讨论]一段程序经常要用到系统时时,下面…
- 下一篇:关于sleep请教
相关文章
-
没有相关内容