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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 明明定义了函数QQMSGX,却说我函数未定义

   

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


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

主题:明明定义了函数QQMSGX,却说我函数未定义

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


加好友 发短信
等级:新手上路 帖子:3 积分:0 威望:0 精华:0 注册:2014/7/10 9:14:01
明明定义了函数QQMSGX,却说我函数未定义  发帖心情 Post By:2014/10/30 14:21:56 [只看该作者]

完全照太极福爷《金字塔自动向QQ发送消息实例》里面做的
开始可以执行,过一会就不能执行了,编辑公式,说我qqmsgx函数未定义
请各位高手指点一下

附引用的文章
工作原理:
此功能充分展示了金字塔强大的扩展能力,金字塔的确是一个无比强大的好工具。
先说功能调用的逻辑。
金字塔公式系统可以调用VB,VB可以调用DLL,DLL可以扩展实现捕捉QQ窗口发送消息的功能。
再说数据传递。
金字塔公式系统可以直接向VB传递参数,也可以用全局数据向VB传递数据,全局数据支持字符串,比较灵活。

下面开始讲如何配置:
1、下载dll,http://www.weistock.com/download/WWSCommon.dll
2、注册dll,打开win的运行,regsvr32 C:\WWSCommon.dll
以上两步可能2.8以上版本自动做了,但我是手工注册了一下dll。

代码的编写
1、先写VB代码,打开金字塔的管理面板-高级,模块,function;先让VB停止运行,菜单,运行,重新设置;
2、菜单,插入,过程,输入函数名和参数名:QQMSGX,(QQNum,QQMSG),系统会生成一段代码,手工改一下如下:


Function QQMSGX(Formula,QQNum,QQMSG)
   QQMSG=document.GetExtString("QQSTR")
   
   Set obj = CreateObject("WWSCommon.TCGroup")
   bq = " 交易系统信号发布 "
   mxmsg = bq &"  " & Date &" " & Time & vbCrLf & " 信号" & " " & QQMSG
   call obj.TransMessage("你自己的群显示名字", mxmsg)
   Set obj = Nothing  
   
   Set obj = CreateObject("WWSCommon.TCGroup")   
   call obj.TransMessage("某个人的qq显示名字", mxmsg)
   Set obj = Nothing  
   
End Function

改完以后让VB开始跑,菜单有运行,或者管理面板上有个黑三角,总之要跑起来!

3、下面搞公式代码
代码是个测试的东东,一个在每根K线走完发消息,两个在出现买卖信号发消息,大家可以自己改。

 GLOBALVARIABLE: bb=0;

VBuy:l<=o;
VSell:h>=o;
    
if islastbar and bb<>barpos and not(VBuy) and not(VSell) then
  begin
     bb:= barpos;
     extgbstringSet('QQSTR','PR '+numtostr(close,5) + ' OB '+numtostr(h,5)+' OS '+numtostr(l,5) );
     VQQM:=QQMSGX(1,close);
   end
       
if VBuy then
begin
  //buy(1,1,limitr,c);       {开多}
  if islastbar and bb<>barpos then
   begin
      bb:= barpos;
      extgbstringSet('QQSTR','1分钟超卖,尝试开多:'+numtostr(close,5));
      VQQM:=QQMSGX(1,close);
   end
end; 
      
if VSell then
begin
  //sell(1,1,limitr,c);       {开多}
  if islastbar and bb<>barpos then
   begin
      bb:= barpos;
      extgbstringSet('QQSTR','1分钟超买,尝试开空:'+numtostr(close,5));
      VQQM:=QQMSGX(1,close);
   end
end; 

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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2014/10/30 15:25:09 [只看该作者]

这个自定义函数你必须要在公式编辑器界面上的自定义函数组里能看到才行的


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部