以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  金字塔自动向QQ发送消息实例  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=11344)

--  作者:太极福爷
--  发布时间:2012/4/26 21:50:10
--  金字塔自动向QQ发送消息实例
工作原理:
此功能充分展示了金字塔强大的扩展能力,金字塔的确是一个无比强大的好工具。
先说功能调用的逻辑。
金字塔公式系统可以调用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; 

上面代码有两个地方比较关键:
1、extgbstringSet,这个是搞全局数据,为VB提供的,string是字符串,也可以搞其他的,参考一下开发手册;
2、QQMSGX,这个是调用VB函数,就是前面在VB里面写的那个同名函数,本身可以传递数值参数,但有时候不够用啊;

这样就搞完了。在图表上加载一下公式,打开你要发送消息的窗口,可以是群或者个人qq都可以。

可能遇到的问题:
1、VB函数没写就写公式,会报错,先写VB;
2、公式加载之后没有发消息,看一下qq窗口名字对不对,最好从qq群的设置里面直接拷贝出来,好像带特殊字符和空格群不行。

以上内容有部分来自论坛其他帖子,感谢。

我在群里面的名字是太极宽客,有问题可以群里面找我。

目前我的系统正在不停骚扰别人,哈哈。


[此贴子已经被作者于2012-4-26 22:12:43编辑过]

--  作者:guotx2010
--  发布时间:2012/4/26 22:06:46
--  

不错,你把他跟策略信号结合起来,就可以向群里朋友喊单了,如果信号很好,就可以向群的同志收费了。

 


--  作者:太极福爷
--  发布时间:2012/4/26 22:16:33
--  
金字塔扩展能力通过VB和dll充分体现出来了,这才是牛逼的地方。


--  作者:onlylovexue
--  发布时间:2012/4/27 9:55:56
--  
确实不等不说的是 , 金字塔的扩展功能做的很强大
--  作者:stxxl
--  发布时间:2012/5/22 16:52:23
--  
这么牛啊,那楼主能不能提供个“每半小时向QQ发送当前公网IP地址的”
--  作者:妞妞
--  发布时间:2012/5/26 20:42:37
--  我的策略是序列计算的,能不能做成程序化交易
学习了,谢谢!
--  作者:h13978515795
--  发布时间:2012/5/29 10:26:45
--  

此代码只能输出到QQ文本输入框,不能自动发送?


--  作者:punkberry
--  发布时间:2012/7/10 9:52:29
--  
谢谢!!
--  作者:xieguihua
--  发布时间:2012/7/12 16:45:39
--  

请问一下,您所指的QQ名是QQ号码还是中文名字?


--  作者:altf4
--  发布时间:2012/7/21 15:00:32
--  

好东西,学习了