以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  金字塔自定义函数  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=6933)

--  作者:yt1548585
--  发布时间:2011/6/20 17:36:44
--  金字塔自定义函数
想制作一个自定义函数,函数的大致功能是: 限定市场使用(比如:在某一公式里加上这个函数后,只能使用于函数所限定的市场,如:上海证券、深圳证券),而在看其他市场某一品种时,是无效的。 特来请教。请斑竹和懂得自定义函数的朋友帮忙。叩谢中!
[此贴子已经被作者于2011-6-20 17:37:25编辑过]

--  作者:guotx2010
--  发布时间:2011/6/21 12:23:23
--  

//下面判断是不是深圳、上海市场

variable:CanUse=0;
if stricmp(marketlabel,\'SZ\')=0 then begin
    CanUse:=1;
End 
if stricmp(marketlabel,\'SH\')=0 then begin
    CanUse:=1;
End 

If CanUse=0 then   //不是就退出
    Exit;
 //下面是公式的主体部分
ma5:Ma(c,5);
 


--  作者:admin
--  发布时间:2011/6/21 13:28:49
--  

首先建立下面一个自定义函数

\'判断是否为上海或深圳证券市场的VBA自定义函数,返回1是,返回0为其他市场
Function NEEDCYC(Formula)
    If Formula.ParentGrid.Market = "SH" Or Formula.ParentGrid.Market = "SZ" THEN
     NEEDCYC=1
 Else
  NEEDCYC=0
 End if
End Function

 

公式系统里如下调用

//如果是上海或深圳市场则显示均线,否则什么都不显示

if Not(NEEDCYC()) then
exit;

MA1:MA(C,5);