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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 新手,请帮忙看看这个函数

   

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


  共有2766人关注过本帖平板打印复制链接

主题:新手,请帮忙看看这个函数

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


加好友 发短信
等级:新手上路 帖子:16 积分:0 威望:0 精华:0 注册:2016/7/6 10:12:01
新手,请帮忙看看这个函数  发帖心情 Post By:2016/7/7 1:22:18 [只看该作者]

因为我发现在公式编辑器里直接使用sendmail函数真的好卡好卡  所以我想把我需要的信息都写入到具有发邮件功能的自定义函数里面,然后再公式里直接执行。

因为刚开始接触金字塔,以前也没学过VBA,所以对金字塔的对象的一些用法还不是很熟悉   麻烦斑竹帮我看看

Function jf_mail(Formula,n)
    If Formula.WorkMode = 0 Then
        Exit Function 
    End If
    jf_mail=0

    Set jfmainGrid = GetMainGrid  ’获得当前指标的主图对象
    symbol=jfmainGrid.StockName    ’获取主图对象的品种名称
    prperio=jfmainGrid.CycType     ’获得主图当前周期属性 并且在下面的select case函数里得到实际的周期数值
    Select Case prperio
Case 0
perio=1
Case 1
perio=5
Case 2
perio=15
Case 3
perio=30
Case 4
perio=60
Case 5
perio=240
Case Else
perio=0
End Select
    
    Set jfHistory = Grid.GetHistoryData() ’获取当前指标窗体对象
    now_j=jfHistory.j(jfHistory .Count-1)   ’获取当前kdj的 j 值
    if jfHistory.j(jfHistory .Count-2)>=now_j   ’对比j值  看是上升还是下降,上升则赋值con1字符到kdj_dk,下降则赋值kdj_dk为con2
    Then kdj_dk="con1"
    else kdj_dk="con2"
mailcont= symbol + "M" + prperio + " KDJ." + kdj_dk + "." + now_j    ’将获取到的数值都加起来赋值给mailcont
    
     ’下面是发邮件的部分
    Set smtpmail=CreateObject("jfmail.smtpmail")    
    smtpmail.sendername="111"
    smtpmail.senderaddress="111@126.com"
    smtpmail.subject="预警邮件"'        
    Call smtpmail.addreceiver("1","111@126.com") '前面第一个参数不知道是什么
    Call smtpmail.addtextcontent(mailcont)
    Call smtpmail.sender("smtp.126.com","111@126.com","111")
End Function



想确认的是
1  获得主窗体的品种名,当前周期, 获得指标窗口(假设是KDJ指标)的J值并对比与前一根k对应的J值 方法是否正确,如果不对该怎么写
2  发邮件就这样子写就可以了吗
[此贴子已经被作者于2016-7-7 1:23:59编辑过]

 回到顶部