public变量取不到值:
此主题相关图片如下:public变量取不到值.png

public c,d
Sub sub_main()
d=func1(3, 5)
call sub1(4,6)
End Sub
Function func1(v1, v2)
func1 = v1 + v2
End Function
sub sub1(v1, v2)
c = v1 * v2
End sub
MsgBox "d="&d
MsgBox "c="&c
本来想通过sub1计算的结果返回全局变量c,通过func1计算d,c和d的值在其他地方用,什么办法取到sub1的返回值计算结果c?
PUBLIC statusinipathfilename
Sub MARKETDATA_StockAlarm(FormulaName, Price, Market, Code)
if FormulaName="D即开复核移盈价止盈" then
statusinipath="D:\Weisoft Stock(x64)\Setting\OrderLog\D即开复核移盈价\"
statusinipathfilename=statusinipath&STKNAME&"STATUS.INI"
end If
'if...
'...
'end if
end Sub
然后在ORDER_OrderStatusEx2中使用statusinipathfilename
sub
ORDER_OrderStatusEx2(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping,Account, AccountType)
if status="Filled" then
mystatus="FILLED"
end If
if status="Submitted" then
mystatus="SUBMITTED"
end if
if status="Tradeing" then
mystatus="TRADEING"
end if
'Application.MsgOut mystatus
if UCase(Status)=mystatus then
Set ReportData = MarketData.GetReportData(Code,Market)
STKNAME=ReportData.StockName
end if
mydate=DATETIMETOJZT(date,time)
'转换系统日期为金字塔日期yyyymmdd,yyyy=2021开始的
If UCase(Status)="FILLED" then '成交后写入INI文件
if Aspect=0 and Kaiping=0 then '买入
Document.WritePrivateProfileString STKNAME&"买开F","买开成交日期",mydate,statusinipathfilename
Document.WritePrivateProfileString STKNAME&"买开F","买开成交时间",mytime,statusinipathfilename '当前系统时间
end if
'if...
'...
'end if
end sub
不知道行不行?
本来想通过marketdata_stockalarm事件取到预警的名称,然后把预警的名称放到orderstatusex2里,没成功,
帮我看看
PUBLIC statusinipathfilename
Sub MARKETDATA_StockAlarm(FormulaName, Price, Market, Code)
statusinipathfilename = "sa"
application.MsgOut 5
End Sub
Sub ORDER_OrderStatusEx2(OrderID, Status, Filled, Remaining, Price, Code, Market, OrderType, Aspect, Kaiping, Account, AccountType)
application.MsgOut statusinipathfilename
End Sub
没有问题,预警满足后,手工下单这里直接能输出得到

此主题相关图片如下:bcj{v20@ak1ho974jv4(qj.png