设为首页收藏本站

 找回密码
 注册
查看: 3848|回复: 4
打印 上一主题 下一主题

GetTBProfileString2Filee使用问题 [复制链接]

Rank: 1

精华
0
UID
222437
积分
23
帖子
18
主题
5
阅读权限
10
注册时间
2015-11-3
最后登录
2016-1-5
跳转到指定楼层
1#
发表于 2015-11-20 11:39:34 |只看该作者 |倒序浏览
Vars
        string strkey;
        String strvalue;
        Numeric D1;
Begin
       D1=1024;

        strKey = DateToString(Date);
        strvalue=Text(D1);
        SetTBProfileString2File("d:\\d.Log","1and2",strKey,strvalue);
End
我在调用的时候是这样写的
Vars
        NumericSeries H1;
        StringSeries strKey;
        string strValue;
        StringSeries strKeyH1;
        string strValueH1;
Begin
      
        strValue = GetTBProfileString2File("d:\\d.Log",strKey,strvalue);
        H1 = Value(strValue);
        strKeyH1=DateToString(Date);
        strValueH1=Text(H1);
        SetTBProfileString2File("d:\\0.Log",strKeyH1,strValueH1);
End

为什么出来是N/A,新手,问题可能有些可笑,请各位大大帮帮忙。

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2015-11-20 13:30:06 |只看该作者
示例 SetTBProfileString2File("c:\\test.txt","MySection","Close",Text(Close));

上述内容为帮助文档的函数说明里的示例。可以清楚看到,该函数的使用所需4个参数。
而你的代码SetTBProfileString2File("d:\\0.Log",strKeyH1,strValueH1);只使用了3个参数,不对的。

使用道具 举报

Rank: 1

精华
0
UID
222437
积分
23
帖子
18
主题
5
阅读权限
10
注册时间
2015-11-3
最后登录
2016-1-5
3#
发表于 2015-12-1 15:44:56 |只看该作者
小米 发表于 2015-11-20 13:30
示例 SetTBProfileString2File("c:\\test.txt","MySection","Close",Text(Close));

上述内容为帮助文档的 ...

谢谢,我现在转到用函数解决跨周期了

使用道具 举报

Rank: 1

精华
0
UID
222437
积分
23
帖子
18
主题
5
阅读权限
10
注册时间
2015-11-3
最后登录
2016-1-5
4#
发表于 2015-12-1 15:52:27 |只看该作者
小米 发表于 2015-11-20 13:30
示例 SetTBProfileString2File("c:\\test.txt","MySection","Close",Text(Close));

上述内容为帮助文档的 ...

在这里再问一个问题,用函数解决跨周期时,我借用了onpain的http://bbs.tb18.net/thread-1996-1-1.html这个帖子的做法,但是在参数声明时NumericSeries Price(10);这一句就显示声明的数据类型错误。原码如下:
1、新建一个用户函数,TransMinsData,返回值为数值型。
参数1:要计算的数据源。
参数2:想按N分钟来处理,本例是5分钟,不能大于60。
参数3:希望取多少个N分钟前的数据。
Params
        NumericSeries Price(1);
        Numeric nMinSet(5);
        Numeric MinsAgo(2);
Vars
        NumericSeries barCnt;
        NumericSeries MinData;
        Numeric i;
        Numeric j;
        Numeric nIndex(0);
Begin
        If(IntPart(Minute%nMinSet)==0)
        {
                barCnt = 1;
        }Else
        {
                barCnt = barCnt[1] + 1;
        }
        MinData = Price;
               
        If(MinsAgo == 0)
        {
                return MinData;
        }Else
        {
                For i = 1 To MinsAgo
                {
                        If( i == 1)
                        {        
                                j = 0;
                        }Else
                        {
                                j = j + BarCnt[j];                                
                        }
                        If (j > CurrentBar ) Return InvalidNumeric;
                        nIndex = nIndex + BarCnt[j];
                }
                Return MinData[nIndex];
        }
End
复制代码

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2015-12-1 16:24:22 |只看该作者
xiaokakaren 发表于 2015-12-1 15:52
在这里再问一个问题,用函数解决跨周期时,我借用了onpain的http://bbs.tb18.net/thread-1996-1-1.html这 ...

新建用户函数, 数值型 ,复制上述代码后,编译成功。
注意看看你新建的函数是否数值型?或者将编译截图的整个截图来看看



使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-12 03:13

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部