[求助]各位大仙,路過請留步,關于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請教
相關文章
-
沒有相關內容