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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请问如何拼接字符串组

   

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


  共有3494人关注过本帖树形打印复制链接

主题:请问如何拼接字符串组

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


加好友 发短信
等级:论坛游侠 帖子:212 积分:0 威望:0 精华:0 注册:2017/10/26 16:40:54
请问如何拼接字符串组  发帖心情 Post By:2018/4/3 12:27:52    Post IP:121.8.107.170[只看该作者]

请教,我定义字符串初始数组为fn[i]:='';
然后在循环里面赋值fn[i]:=某字符串

然后我应该是得到fn[n]个字符串组,
请问如何在循环外一次性输出fn[n]个字符串组???

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/4/3 13:13:15    Post IP:180.169.30.6[只看该作者]

实现不了的这个。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
hj007s
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:212 积分:0 威望:0 精华:0 注册:2017/10/26 16:40:54
  发帖心情 Post By:2018/4/3 13:39:12    Post IP:121.8.107.170[只看该作者]

以下是引用FireScript在2018/4/3 13:13:15的发言:
实现不了的这个。

那我循环中得到每个代码的字符串那如何一次性输出啊???请问


 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/4/3 13:55:31    Post IP:180.169.30.6[只看该作者]

 
str:'';

for i=1 downto 10 then
begin
str:=str+'';//每次循环拼接字符串
end

循环内拼接字符串即可。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
hj007s
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:212 积分:0 威望:0 精华:0 注册:2017/10/26 16:40:54
  发帖心情 Post By:2018/4/3 14:08:11    Post IP:121.8.107.170[只看该作者]

total:0;
str:='';
for i:=1 to THOLDCOUNT('') do
BEGIN
code:=THOLDINDEXLABEL(i,'');

}
//字符串拼接

持仓信息:'股票代码:'& code;
str:=持仓信息+'str';
//MSGOUT(1,持仓信息);

total:=total+1;
END
MSGOUT(1,str);

这样写会恒定输出一个定值
如果用str:=持仓信息+str的话返回为空

 回到顶部
帅哥哟,离线,有人找我吗?
hj007s
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:212 积分:0 威望:0 精华:0 注册:2017/10/26 16:40:54
  发帖心情 Post By:2018/4/3 14:11:26    Post IP:121.8.107.170[只看该作者]

搞定了,老师,
谢谢老师
不是用str:=str+'';
而应该是用str:=str&str;
不然就是恒定返回一个值


顺便请教老师,在后台函数中,我好像没法调用持仓中的浮动盈亏(对于某品种)
那个浮动盈亏必须是已在后台交易后有记录文件才能计算?不能抓账户里面的浮动盈亏么???

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/4/3 14:16:11    Post IP:180.169.30.6[只看该作者]

 DYNAINFO(  7) 用最新价和持仓均价做一个差值。 但是还需要考虑一个品种多头持仓的问题。。需要做一个判断。多多头和空头分别计算下持仓情况才行。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
hj007s
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:212 积分:0 威望:0 精华:0 注册:2017/10/26 16:40:54
  发帖心情 Post By:2018/4/3 14:20:49    Post IP:121.8.107.170[只看该作者]

for i:=1 to THOLDCOUNT('') do
BEGIN
code:=THOLDINDEXLABEL(i,'');
thc:=TBUYHOLDINGEX('',code,0);
thc1:=NUMTOSTR(thc,4);
a:=TAVGENTERPRICEEX('',code);
a1:=NUMTOSTR(a,4);
MSGOUT(1,a);
END

我用TAVGENTERPRICEEX返回不了持仓均价,这是怎么回事???

老师能不能再此的基础上加个浮动盈亏的返回???

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/4/4 16:40:01    Post IP:180.169.30.6[只看该作者]

 avPrice1:TAVGENTERPRICEEX2('' ,'' ,0 );//买持均价
avPrice2:TAVGENTERPRICEEX2('','',1);//买持均价


指定下方向,才能正确取值。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/4/4 17:13:26    Post IP:180.169.30.6[只看该作者]

 name:STKNAME;//持仓品种名称

thd1:TBUYHOLDINGex('','',2);//多头持仓 取得是实际总持而不是可用持仓
thd2:TSELLHOLDINGex('','',2);//空头持仓

avPrice1:TAVGENTERPRICEEX2('' ,'' ,0 );//买持均价
avPrice2:TAVGENTERPRICEEX2('','',1);//买持均价

currentPrice:DYNAINFO(  7);//当前最新价
as:DYNAINFO(209);//单位乘数

profit1:(CURRENTPRICE-AVPRICE1)*as*thd1;//多头浮动盈亏
profit2:(AVPRICE2-CURRENTPRICE)*as*thd2;//空头浮动盈亏

str:'品种名称:'+name+'\n'+'多头持仓:'+NUMTOSTR(thd1,0)+'\n'+'空头持仓:'+NUMTOSTR(thd2,0)+'\n'+'多头浮动盈亏:'+NUMTOSTR(profit1,0)+'\n'+'空头浮动盈亏:'+NUMTOSTR(profit2,0)+'\n'+'多头持仓均价:'+NUMTOSTR(AVPRICE1,0)+'\n'+'空头持仓均价:'+NUMTOSTR(AVPRICE2,0);
//MSGOUT(1,str);//这个msgout 可以在图表最后一个K上测试下输出而已。
如下效果

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看


数据的输出函数就是上面这样了。



命数如织,当如磐石。
 回到顶部