欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → public变量取不到值

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2609人关注过本帖树形打印复制链接

主题:public变量取不到值

帅哥哟,离线,有人找我吗?
weishao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
public变量取不到值  发帖心情 Post By:2021/2/7 13:35:58 [显示全部帖子]

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?

 回到顶部
帅哥哟,离线,有人找我吗?
weishao
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2021/2/7 13:43:33 [显示全部帖子]

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


不知道行不行?

 回到顶部
帅哥哟,离线,有人找我吗?
weishao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2021/2/8 0:32:24 [显示全部帖子]

不知道什么意思

 回到顶部
帅哥哟,离线,有人找我吗?
weishao
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2021/2/8 8:58:23 [显示全部帖子]

加了CALLsub_main后可以了
call sub_main
  MsgBox "d="&d
  MsgBox "c="&c
图片点击可在新窗口打开查看此主题相关图片如下:call sub_main.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
weishao
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2021/2/8 9:10:32 [显示全部帖子]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
weishao
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2021/2/8 9:12:22 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:marketdata_stockalarm.txt

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:orderstatusex2.txt

本来想通过marketdata_stockalarm事件取到预警的名称,然后把预警的名称放到orderstatusex2里,没成功,
帮我看看

 回到顶部
帅哥哟,离线,有人找我吗?
weishao
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2021/2/8 9:41:44 [显示全部帖子]

但是我这里的statusinipathfilename 都没有值


 回到顶部
帅哥哟,离线,有人找我吗?
weishao
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2021/2/8 9:46:36 [显示全部帖子]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
weishao
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2021/2/8 9:57:38 [显示全部帖子]

逻辑没问题,就好,应该是里面判断有问题,我在看看

 回到顶部
帅哥哟,离线,有人找我吗?
weishao
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:256 积分:0 威望:0 精华:0 注册:2020/6/10 14:05:31
  发帖心情 Post By:2021/2/8 11:12:17 [显示全部帖子]


PUBLIC statusinipath
图片点击可在新窗口打开查看此主题相关图片如下:orderstatus有结果,但取不到statusinipath的值.png
图片点击可在新窗口打开查看

Sub MARKETDATA_StockAlarm(FormulaName, Price, Market, Code)
dim yjFormulaName
yjFormulaName=FormulaName
statusinipath="T"
' Document.WritePrivateProfileString "后台预警","预警日期",DATETIMETOJZT(date,time),"D:\Weisoft Stock(x64)\Setting\OrderLog\statusini路径.INI" 
' Document.WritePrivateProfileString "后台预警","取值路径",statusinipath,"D:\Weisoft Stock(x64)\Setting\OrderLog\statusini路径.INI"
Application.MsgOut "FormulaName="& FormulaName
Application.MsgOut "yjFormulaName="& yjFormulaName
Application.MsgOut "statusini路径:"&statusinipath
End Sub
没有结果,

 回到顶部
总数 11 1 2 下一页