Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]请教自定义函数未通过

1楼
杜非特 发表于:2016/10/13 2:55:10
下面这个自定义函数未通过请问问题出在哪里。。。谢谢。。。


Function DFTczzfcwz(Formula,dczc,dczf,cxcs)
    
    '系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码

    cd = 0
    for wz = 1 to StrLen(dczc)
        if STRMID(dczc,wz,StrLen(dczf)) = dczf Then begin
            cd = cd + 1
            If cd = cxcs Then begin
                cxwz = wz
                Exit for
            End Else Begin    '到这一句未通过!编译器错误1024 缺少语句
                cxwz = 0
            End 
        End
    Next
    
    DFTczzfcwz = cxwz

End Function


2楼
yukizzc 发表于:2016/10/13 10:14:13

vba的if语句是

if cond then

end if

3楼
王锋 发表于:2016/10/13 11:02:08

如果你用PEL语言做模块函数,请参考 ##的用户函数引用方法参考

4楼
杜非特 发表于:2016/10/13 12:30:05
谢谢楼上二位了。。。
5楼
yukizzc 发表于:2016/10/13 13:03:43

pel和vb是两个使用环境

##是pel下的用户函数模式,使用见链接http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=71961

 

vb里面你if请看2楼,if不要加begin,begin这个是pel的语法规范,您不能两个混淆

6楼
杜非特 发表于:2016/10/13 14:05:36
请问版主我在Function里面是否可以用纯vb6的语言?谢谢。。
7楼
杜非特 发表于:2016/10/13 14:20:11
Function DFTczzfcwz(Formula,dczc,dczf,cxcs)
    
    '系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码

    cd = 0
    For wz = 1 to Len(dczc)
        If Mid(dczc,wz,Len(dczf)) = dczf Then
            cd = cd + 1
            If cd = cxcs Then
                cxwz = wz
                Exit for
            Else
                cxwz = 0
            End If
        End If
    Next
    
    DFTczzfcwz = cxwz

End Function

上面代码通过。但是DFTCZZFCWZ('sag,sdsg,sgs,dgh',',',2);返回的是0。这是一个查找‘,’号在'sag,sdsg,sgs,dgh'字符串中第2次出现的位置的意思。。。请教问题出在哪里?谢谢。。。
8楼
杜非特 发表于:2016/10/13 14:33:46
Private Sub Command1_Click()
Text1.Text = DFTczzfcwz("sag,sdsg,sgs,dgh", ",", 2)
End Sub

Function DFTczzfcwz(dczc, dczf, cxcs)
    
    '系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码

    cd = 0
    For wz = 1 To Len(dczc)
        If Mid(dczc, wz, Len(dczf)) = dczf Then
            cd = cd + 1
            If cd = cxcs Then
                cxwz = wz
                Exit For
            Else
                cxwz = 0
            End If
        End If
    Next
    
    DFTczzfcwz = cxwz

End Function

上面代码在vb6中通过并返回正确数据。。。
9楼
yukizzc 发表于:2016/10/13 15:14:40

自定义函数不支持字符串,http://www.weistock.com/bbs/dispbbs.asp?BoardID=5&ID=56610

 

10楼
杜非特 发表于:2016/10/13 17:41:38
谢谢。。。感觉太遗憾了。。。这么巴适的软件应该支持字符串才科学。。。我用KT交易师试了一下,KT的就可以。。。希望改进一下。。。
共11 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.04688 s, 2 queries.