更新日志--------2022-02-10 升级:NextGen版本支持 TSLWin.exe 启动调试器:设置环境变量 TSL_DebugServer=Enable //启动调试服务 TSL_DebugListen=侦听地址 //设置侦听IP,默认127.0.0.1 TSL_DebugPort=20020 //设置端口,默认值20020 TSL_DebugThreads=1 //设置调试器线程数,默认1 TSL_DebugNeedLogin=Enable //设置需要登陆,默认需要,设置 0则不需要登陆 此外,可以在命令行加如下参数设置: -DEBUGSERVER //启动DebugServer -NODEBUGSERVER //强制禁用DebugServer -WAITATTACH //启动DebugServer并等待attach,默认20秒 -DEBUGPORT 20020 //设置端口 -DEBUGLISTEN 127.0.0.1 //设置侦听IP -DEBUGTHREADS 1 //设置线程数 -DEBUGLOGIN 0 //设置是否要登录 新增调试器支持函数: function dbgcreatechannel():Integer; //创建一个调试的通道ID,对于平台调试,无需使用此函数,因为异步调用的SendExecute本身可以得到通道ID function dbgsetcallback(Id:Integer;CallBack:String); //对于平台调试,在SendExecute异步调用指定即可 function dbgunsetcallback(Id:Integer); function dbggetcallback(Id:Integer): 单参数的调试命令函数: dbg...(Id:Integer); dbgpause 发送中断信息 dbgreset 停止运行 dbgrun 继续运行 dbggetallvalue 获得当前的符号表值 dbgstep 单步 dbgstepout 跳出 dbgstepover 跳过 dbgsteptiny 微步 dbgattachwait 等待attach dbglist 获得任务列表,用于attach dbgdetach 停止attach 四参数的调试命令 dbg...(Id:Integer;User,Func:String;Line:Integer); dbggoto 跳转 dbgsetbreak 设置断点 dbgunsetbreak 去掉断点 其他 dbgeval(id:Integer;str:string);//计算 dbggetvalue(id:Integer;Name:string;issysparam:Boolean); //获得变量值 dbgsetvalue(id:Integer;Name:string;issysparam:Boolean;Value:Any); //设置变量值 dbgattach(id:Integer;taskid:String); //attach指定的任务,任务列表从attachlist获得 dbglogin(username,password:string); //调试服务登陆,如果不检查则总正确 更新日志--------2022-01-20 升级:InitRun.TSL运行崩溃的问题(Legacy存在问题,NextGen版本无问题)。 更新日志--------2022-01-13 升级:支持InitRun.TSL进行初始化以及监控线程运行AutoMon.TSL进行监控。 升级:完善了全局缓存的功能。完成全局缓存的说明档。 更新日志--------2021-12-27 升级:全局缓存完善。 更新日志--------2021-12-10 升级:全局缓存将SetGlobalCache从输出异常改为返回真假。(这样的好处是设置失败不用TRY,对许多代码而言更友好) 更新日志--------2021-12-07 升级:全局缓存支持。 依赖升级:tslkrnl.dll ,tslinterp.dll ,exec64.exe,plugin\tslcplugin.dll setglobalcache(Name,Value) 需要在FileMgr.ini里为用户设置HighLevel权限或者系统权限,HighLevel的值位包含2 listglobalcache():array 列出全部缓存的信息,需要的权限与setglobalcache一样 [HighLevel Rights] User1=2 Name : 名称 Value: 值 getglobalcache(Name,Var Value[,Dup:Boolean=false]):Boolean; Name: 名称 Value: 返回的缓存引用或者复制的内容,目前仅对array或者matrix类型使用引用模式 Dup: 一般情况下不需要用Dup参数,为假则直接使用引用,为真则复制值 checkglobalcacheexpired(Cache):Boolean; Cache:缓存类型 返回值:如果缓存已经被重置失效,则返回真,否则返回假 ifcache(Value) 测试Value是否是一个缓存类型 getglobalcacheinfo(Cache):array 返回Cache的信息 更新日志--------2021-11-23 升级:支持tostm(Data,1)可以转换为新格式的流文件。 修正:非完全矩阵的计算可能会出现重复计算的可能性。(对于使用非完全矩阵进行四则运算的影响级别高,必需升级) 更新日志--------2021-11-22 修正:新三板的日线问题。 更新日志--------2021-11-18 修正:修订夜盘tradedays设置日期在非交易日时的问题。 更新日志--------2021-11-9 修正:修订周期处理错误问题。 更新日志--------2021-11-7 修正:修订周期处理崩溃问题。 更新日志--------2021-11-5 修正:修订一个周期处理问题。 更新日志--------2021-11-4 升级:query增加系统参数支持访问数组。 更新日志--------2021-10-15 修正:访问COM对象时存在的内存泄露问题。(TSLUTILS.DLL) 更新日志--------2021-9-27 修正:解决浮点字符串转换的四舍五入问题。 更新日志--------2021-9-24 升级:解决周期,集合竞价的tradedays问题。 升级:由于forin的变量保护在64位下可能发生不生效的情形(不会产生副作用),修订规则为允许for in里修改现有下标。 更新日志--------2021-9-13 升级:解决周期,集合竞价的tradedays问题。 更新日志--------2021-9-2 升级:解决周期线的时点开盘在未开盘时用了当天的开盘价的问题。 升级:支持[a,b]:=array(1,2),当函数返回一个数组的时候,可以支持一次性取出数组里的分项内容到不同的变量,如果显示使用该表达式的值,其值为第一个变量的值,但当单独执行这个内容,为了效率不返回。 更新日志--------2021-8-31 升级:周期补丁。 升级:format等对浮点遇5的四舍五入问题。 更新日志--------2021-8-27 升级:分钟线遇到同一时间戳的处理逻辑和期货相同处理。 更新日志--------2021-7-27 升级:实时行情无锁版本支持最多256-2个线程。(原来为64-2个线程) 更新日志--------2021-7-26 修正:实时分钟线当事件和执行的市场不一致时可能产生的内存写越界问题(导致不明的服务崩溃问题)。 更新日志--------2021-7-22 修正:编译失败在某些情况下可能会产生内存泄露问题。 更新日志--------2021-7-17 修正:解决CalcCTRLWord的warning信息没有及时反馈给客户端的问题。 升级:防止同样位置同样类型的重复警告信息反馈给客户端。 更新日志--------2021-7-16 升级:新增CalcCTRLWord设置,控制nil以及浮点除0问题。 修订:并发下可能出现数据不一致的问题。 测试:新增读优先模式在一分钟内让读可以优先进行,如果超时无法写入则转成旧有模式。 更新日志--------2021-7-9 升级:获得板块所在路径的函数:getbkgroup,getuserbkgroup,getsysbkgroup。 修订:在并发冲突的时候CHUQUAN下的时间序列和实际数据不一致的问题。 更新日志--------2021-6-1 升级:高频时序无交易昨收为0的问题。 更新日志--------2021-4-6 升级:Format结果当超过1K长度的时候可能会出现被截断的问题。tslkrnl.dll 更新日志--------2021-3-9 升级:rankof当出现非常接近的浮点数会导致NIL,对于其他而言,也存在类似问题,但结果由于是数值计算几乎不受到影响,而对于要求完全相同的RANK则会受到严重影响。(测试) 由于非严格缓存,导致假定相同的值产生问题。 更新日志--------2021-3-2 升级:数据仓库时间序列处理补丁。(测试) 更新日志--------2021-1-26 升级:sortarray,sorttablebyfield对字符串下标的问题。 更新日志--------2020-11-20 升级:半秒线的时间序列重复问题。 更新日志--------2020-10-29 升级:修订了一个函数参数使用错误串导致的崩溃问题(不会影响正常使用,仅在数据错误的时候可能诱发)。 更新日志--------2020-10-26 升级:修订分发一个潜在的崩溃问题,这个隐藏的瑕疵是在LINUX平台多节点高网格并发下发现的。(2018-12-31日以来的版本均有这个潜在问题,但在非大批量长队列网格计算问题几乎不会发生,因此WINDOWS版本的修正等级低) 更新日志--------2020-10-25 升级:修订3秒线上午下午均计入的问题。 升级:错误数据包将断开。 更新日志--------2020-10-12 升级:必需修订!!!!!!!!新版本的IncMonth等函数减月份到正好12月会导致失败。 升级:新版本支持strtoint("0x10")模式的修正。 更新日志--------2020-10-09 升级:检查并修订调用的C++的非线程安全函数。 更新日志--------2020-09-30 升级:测试版升级为正式版本。 更新日志--------2020-09-29 ==========================测试============================ 升级:修订9-27日来的测试版本交易明细周期设置到上市前的BUG。 更新日志--------2020-09-28 ==========================测试============================ 升级:升级到openssl 1.1.1g支持国密算法。 新增文件libcrypto-1_1-x64.dll 和 libcrypto-1_1.dll 修正:解决sysdbfread读错误文件导致的崩溃。 修正:高频时间序列在市场时间变更期访问的问题。 修订:Avedev在空内容出错的问题。 更新日志--------2020-09-27 ==========================测试============================ 升级:对数据仓库的时间序列进行升级,大规模高频数据NDAY类型获取可以获得数量级的效率提升。 修订:JSON函数对超大规模结果集处理超过2G字符串导致的崩溃问题。 新增:sysdbfread,sysdbfwrite函数。 更新日志--------2020-09-23 ==========================测试============================ 升级:尝试修订Apache模块问题。 更新日志--------2020-09-22 ==========================测试============================ 升级:测试版本的遗留版本使用legacy_开头,而不采用_,防止出现名称冲突。 升级: 秒时间序列进行优化。 更新日志--------2020-09-18 升级:测试版本的concat对常量的处理的问题。 升级:strtoint,strtointdef,strtofloat,strtofloatdef的问题。 更新日志--------2020-09-16 升级:ViewPoint对当天的问题。 升级:函数在取消的时候可能诱发崩溃的问题。 升级: gethttp可能会导致内存问题。 更新日志--------2020-09-11 升级:测试版本对特殊类型的DeleteField内核存在BUG。 升级:测试版本的DateTimeToStr在一天的开始截止半毫秒内的DateToStr化。 更新日志--------2020-09-06 升级:二进制函数异常记录参数。 升级:对错误的内存分配进行堆栈记录。 更新日志--------2020-09-04 修订:因为全局函数使用中被删除造成的不可预期问题。 函数:function ExportJsonStringUTF8(a:array):string;将TSL矩阵转换为JSON字符串,所有字符转换为UTF8编码。 更新日志--------2020-09-03 更新:降低流最大限制修订压缩失败的问题。 修订:ansireplacestr等一组新函数的BUG。 更新日志--------2020-08-20 ==========================测试============================ 更新:如下数值函数被重写到cplugin gamma gammaln erf erfc erfinv erfcinv sf_gamma sf_gammaln sf_beta sf_incompletegamma sf_gammainv sf_error sf_integerbessel_1 sf_integerbessel_2 sf_realbessel_1 sf_realbessel_2 sf_incompletebeta sf_betainv sf_normal sf_normal2 sf_normalinv sf_normalinv2 sf_f sf_finv sf_t sf_tinv sf_x2 sf_x2inv sf_sinx sf_ex sf_exinv sf_cosx sf_ellipsex_1 sf_ellipsex_2 na_errormsg //线性方程组 se_gauss se_gauss_jordan se_ldl se_cholesky se_gauss_seidel //插值 ip_lagrangian_a ip_lagrangian_b ip_parabola_a ip_parabola_b ip_hermite_a ip_hermite_b ip_aitken_a ip_aitken_b ip_spline_a ip_spline_b ip_spline_c ip_slq ip_slg //矩阵 mt_multiplication mt_addition mt_subtraction mt_transposition mt_iv_gauss_jordan mt_iv_ldl mt_va_cholesky mt_va_gauss_jordan mt_decompose_qr mt_decompose_qr2 mt_decompose_lu mt_decompose_svd mt_decompose_eig mt_decompose_chol mt_decompose_ldl //积分 ig_trapezoid_1 ig_trapezoid_2 ig_simpson_1 ig_romberg ig_gauss ig_chebyshev ig_simpson_2 更新日志--------2020-08-4 ==========================测试============================ 修订:str(-11.11,s)死循环问题。 修订:strtocurr("-10.0")这类负数转换错误的问题。 更新日志--------2020-07-31 ==========================测试============================ 修订:网格计算可能导致的可用内存计算问题。 修改:数据仓库函数对字符串返回通过调用内核函数实现。 更新:以下函数被重写,需要测试 字符串处理=============strext.dll已经重写到cplugin ansiresemblestext ansicontainstext ansistartstext ansiendstext ansireplacetext ansimatchtext ansiindextext ansicontainsstr ansistartsstr ansiendsstr ansireplacestr ansimatchstr ansiindexstr dupestring reversestring stuffstring leftbstr rightbstr midbstr leftstr rightstr midstr soundex soundexint decodesoundexint soundexword decodesoundexword soundexsimilar soundexcompare soundexproc replacetext replacestr unicodetomultibyte multibytetounicode lcmapstring makelcid multibytetounicodew unicodeesc unicodeesc2 ununicodeesc ununicodeescw ununicodeesc2 ununicodeesc2w 图形处理=============graphext.dll已经重写到cplugin clblack clmaroon clgreen clolive clnavy clpurple clteal clgray clsilver clred cllime clyellow clblue clfuchsia claqua clltgray cldkgray clwhite clmoneygreen clskyblue clcream clmedgray flsolid flclear flhorizontal flvertical flfdiagonal flbdiagonal flcross fldiagcross gtline gtkline gttower gtamerican gtbar gtsinglebar gtcircle fgnone fgleft fgup fgright fgdown fgleftup fgrightup fgrightdown fgleftdown gfcolor gfvalue gfclose gfopen gfhigh gflow gfzero gfvol gfamount gfflag gfrateflag gfmaxvalue gfminvalue gftitlecaption gflefttitlecaption gfcoordinate gftowerlow gftowerhigh gftowermid gftime gfltp gffill encodegraph decodegraph decodegraphgroup encodegraphgroup getcvalue getmvalue getyvalue getkvalue getrvalue getgvalue getbvalue paletteindex rgb cmyk palettergb 日期处理=============dateext.dll已经重写到cplugin tryencodedateweek today yesterday tomorrow gmttolocaldatetime datetimetointernetstr datetimegmttohttpstr datetimegmttocookiestr datetimetointernetstrw datetimegmttohttpstrw datetimegmttocookiestrw dateof timeof isinleapyear ispm isvaliddate isvalidtime isvaliddatetime isvaliddateday isvaliddateweek isvaliddatemonthweek weeksinyear weeksinayear daysinyear daysinayear daysinmonth daysinamonth istoday issameday yearof monthof weekof dayof hourof minuteof secondof millisecondof startoftheyear endoftheyear startofayear endofayear startofthemonth endofthemonth startofamonth endofamonth startoftheweek endoftheweek startofaweek endofaweek startoftheday endoftheday startofaday endofaday monthoftheyear weekoftheyear dayoftheyear houroftheyear minuteoftheyear secondoftheyear millisecondoftheyear weekofthemonth dayofthemonth hourofthemonth minuteofthemonth secondofthemonth millisecondofthemonth dayoftheweek houroftheweek minuteoftheweek secondoftheweek millisecondoftheweek houroftheday minuteoftheday secondoftheday millisecondoftheday minuteofthehour secondofthehour millisecondofthehour secondoftheminute millisecondoftheminute millisecondofthesecond withinpastyears withinpastmonths withinpastweeks withinpastdays withinpasthours withinpastminutes withinpastseconds withinpastmilliseconds yearsbetween monthsbetween weeksbetween daysbetween hoursbetween minutesbetween secondsbetween millisecondsbetween yearspan monthspan weekspan dayspan hourspan minutespan secondspan millisecondspan incyear incweek incday inchour incminute incsecond incmillisecond encodedatetime decodedatetime encodedateweek decodedateweek encodedateday decodedateday encodedatemonthweek decodedatemonthweek tryencodedatetime tryencodedateday tryencodedatemonthweek recodeyear recodemonth recodeday recodehour recodeminute recodesecond recodemillisecond recodedate recodetime recodedatetime tryrecodedatetime comparedatetime samedatetime comparedate samedate comparetime sametime nthdayofweek decodedayofweekinmonth encodedayofweekinmonth tryencodedayofweekinmonth datetimetojuliandate juliandatetodatetime tryjuliandatetodatetime datetimetomodifiedjuliandate modifiedjuliandatetodatetime trymodifiedjuliandatetodatetime datetimetounix unixtodatetime 常用函数=============sysext2.dll已经重写到cplugin pos copy str val comparestr uppercase lowercase comparetext sametext trim trimleft trimright isvalidident inttostr inttohex strtoint strtointdef trystrtoint strtobool strtobooldef trystrtobool booltostr floattostr currtostr formatfloat formatcurr strtofloat strtofloatdef trystrtofloat strtocurr strtocurrdef trystrtocurr encodedate encodetime tryencodedate tryencodetime decodedate decodedatefully decodetime dayofweek incmonth isleapyear datetostr timetostr datetimetostr strtodate strtodatedef trystrtodate strtotime strtotimedef trystrtotime strtodatetime strtodatetimedef trystrtodatetime formatdatetime quotedstr ansiquotedstr ansidequotedstr adjustlinebreaks changefileext extractfilepath extractfiledir extractfiledrive extractfilename extractfileext extractrelativepath filedatetodatetime datetimetofiledate bytetype bytetocharlen chartobytelen bytetocharindex chartobyteindex charlength nextcharindex ispathdelimiter isdelimiter includetrailingpathdelimiter includetrailingbackslash excludetrailingpathdelimiter excludetrailingbackslash lastdelimiter ansicomparefilename samefilename ansilowercasefilename ansiuppercasefilename wraptext ansipos ansitoutf8 utf8toansi inttostrw inttohexw booltostr2 booltostrw booltostrw2 utf8tounicode unicodetoutf8 floattostrw currtostrw datetostrw timetostrw datetimetostrw strw date time now currentyear incamonth appendstr datetimetostring format ansiformat 新增:字节函数,处理非MBCS的原始字符串,本身存在非B或者ANSI版本(原始存在于strext.dll的其他函数版本): containstext startstext endstext containsstr startsstr endsstr stuffbstring reversebstring 更新日志--------2020-07-16 ==========================测试============================ 修订:测试版本的Minof,MaxOf的BUG。 修订:最近平台数据访问问题的修订。 修订:Apache模块的修订。 新增:新函数库持续测试中。 更新日志--------2020-07-6 ==========================测试============================ 修订:Import Excel文件的时候,将剔除掉空格式内容。 新增:txlssheet对象新增CalcDimensionsEx方法,重新计算FirstCol,LastCol,FirstRow,LastRow ==========================测试============================ 更新日志--------2020-07-3 ==========================测试============================ 修订:前次修订诱发的周末tradedays问题。 修订:为交易网关支持所做的功能新增修订。 ==========================测试============================ 更新日志--------2020-06-23 ==========================测试============================ 修正:SetLength问题。 修订:PostHttp等对https支撑问题。 修订:半秒线问题。 修订:交易网关调用TSL导致的死锁问题。 ==========================测试============================ 更新日志--------2020-06-7 ==========================测试============================ 修正:周末夜盘TRADEDAYS问题。 升级:sortarray,sorttablebyfield,str2array等数十个extsys.dll的函数移植到cplugin.dll,性能得到提升。 升级牵涉到的函数如下: datatype, ifint,ifint64,ifreal,ifnumber,ifstring,ifwstring,ifarray,ifnil,ifexp,ifgraph,ifgraphgroup,ifbinary,ifobj,ifmatrix, dupvalue, str2array,array2str,strcmp,length,lengthw,setlength,creatematrix,getmatrixfields,createbinary,getstrindexnum, getstrindexs,getintindexs,getallindexs,sorttablebyfield,sortarray,matrixtoarray, pn_stock,pn_date,pn_rate,pn_rateday,pn_nday,pn_cycle,pn_precision,pn_niltrans,pn_i64trans,pn_languageid,pn_bk,pn_sector,pn_endt,pn_begt,pn_timeindex, cy_day,cy_month,cy_week,cy_1m,cy_5m,cy_15m,cy_30m,cy_60m,cy_quarter,cy_halfyear,cy_year,cy_2m,cy_3m,cy_10m,cy_120m,cy_20m,cy_40m, cy_1s,cy_2s,cy_3s,cy_4s,cy_5s,cy_6s,cy_10s,cy_12s,cy_15s,cy_20s,cy_30s,cy_halfs,cy_detail,cy_freecycle,cy_trailingdays,cy_trailingseconds, rt_none,rt_scale,rt_complex,rd_lastday,rd_firstday,deleteindex,deletefield,tostn,tostm,stn,stm,setspeedcalcmode,getspeedcalcmode,setlikeflag,getlikeflag, convertdatatobuf,convertbuftodata,getformatlocalcode,setformatlocalcode,setprofiler,getprofilerinfo,pn_viewpoint,pn_reportmode,pn_emptymode,pn_freecycle, pn_keeprawdata,pn_standardarray,pn_textresult,pn_resultfilename,pn_uid,cy_f30m,cy_f60m,pn_cyclefilter,cf_default,cf_nonighttrading,cf_callauctiontoseries,cf_suspendtoseries 升级:ifstring等函数支持ifstring(a,1)对数组内的进行判别,判别结果为同结构数组。 ==========================测试============================ 更新日志--------2020-05-22 ==========================测试============================ 修正:对5月17日的测试版本修正-tabledef失效的问题。 ==========================测试============================ 更新日志--------2020-05-20 ==========================测试============================ 升级:对数组进行复制提升数倍的效率。 ==========================测试============================ 更新日志--------2020-05-19 ==========================测试============================ 修正:日线在盘中设置viewpoint到当天的时候无法访问当天数据的问题。 新增:当tsdb_permission.ini里的权限代码设置过多的时候,会非常缓慢,因而增加stock_permission.ini配置直接设置权限。 新增:FindFunction支持unitabcd.aaa的方式来查找函数。 ==========================测试============================ 更新日志--------2020-05-17 ==========================测试============================ 新增:Event新增参数 /timeout:timeoutseconds /maxlen:maxresultreturn 支持命令的超时时间以及返回结果的最大大小。 例如:event /dump daydata /id:*all /timeout:600 /maxlen:100000000 当前默认超时设定为300秒,最大返回大小设定为100M ==========================测试============================ 更新日志--------2020-05-15 ==========================测试============================ 修订:TSL内核TSL对象析构DESTROY方法在特殊调用下可能会产生问题。 升级:对a.c()这样的调用以及eval调用加入到调用堆栈中,使得可以出现在stackframe里,方便调试。 升级:createobject("DDD",....)的调用模式的优化,使得其和new 一致,而不需要用户修改代码。 升级:其他性能优化。 修订:一些Event.exe的命令必须/ip:才可以执行的问题,修订为可被缺省127.0.0.1。 新增:reloadmarket的行为,对于EVENT而言将修改内存里的品种的市场定义。 新增:event的dump日线的命令当id为*all的时候,为DUMP内存里的品种的市场定义。 ==========================测试============================ 更新日志--------2020-05-07 ==========================测试============================ 升级:内核的效率,运行时优化绑定函数指针。 升级:品种权限检查对基本面生效。 ==========================测试============================ 更新日志--------2020-05-06 升级:内核和APACHE模块匹配升级。 修正:ORA出现INSERT BLOB报错的问题。 更新日志--------2020-04-30 升级:内核提升性能。 修订:市场被改变的品种当天的周期问题。 升级:MEMDB生成的效率。 设置:无股票对象基本面数据访问的权限设置SELECT可以绕过访问权限的问题。 更新日志--------2020-04-17 升级:解决在大单元或者巨大的类中调用函数或者成员以及属性可能会遇到的性能问题。 更新日志--------2020-04-14 升级:MEMDB支持多字段排序,内存开销减少接近50%,生成性能提升超过100%。 升级:对于不明异常的记载,增加了对当时的系统参数的记录。 更新日志--------2020-04-13 修订:一种特殊的CALL在打开优化信息的时候的问题。 更新日志--------2020-04-10 修订:3月12号升级版本导致邮件发送遇到有附件时会出现正文中的中文乱码。 更新日志--------2020-04-9 修订:使用Importfile操作xls文件会导致内存泄露。 更新日志--------2020-03-31 修正:使用txlsreadwrite类进行Excel读写会丢失主题,导致默认颜色和打开前不一致的问题。 修正:解决"问题后导致的写入CHART等信息的XLSX XML文件因为未对"进行编码导致的警告。 更新日志--------2020-03-30 修订:月线、周线的最后一个点在停牌股处理上的问题。 更新日志--------2020-03-27 修订:3月11日发布版本后邮件编码默认为8bit问题,恢复成MBCS。 修订:当小概率事件分钟线索引文件扩张后会导致访问分钟线异常的问题。 更新日志--------2020-03-20 升级:更新代码树支持。 更新日志--------2020-03-19 升级:客户端支持代码树,TSINTERP.DLL支持代码树的生成。 更新日志--------2020-03-12 修订:技术指标图形生成函数wg_drawgraph默认配置行为改变的问题。 修订:gethttp等http获得函数支持选择去WININET支持,新增第一个参数为可选,当为数字时代表采用何种模式进行连接: 0表示使用微软的库(存在一定可靠性风险,但兼容性高),1使用TCP直接连接模式。例如: gethttp(1,"https://www.baidu.com",6000,Value,Code); 修订:32位下TCP直接连接GETHTTP等如果存在网页压缩会导致出错的问题。 修订:Apache模块URL直接送入中文的问题。 更新日志--------2020-3-11 ===============此版本为测试版本+++++++++++++++++++需要等待正式版本++++++++++++++++ 修订:event.exe -sysini不带keyname参数时导致无法插入的问题 更新日志--------2020-3-6 ===============此版本为测试版本+++++++++++++++++++需要等待正式版本++++++++++++++++ 修订:一个特殊的错误提交TSL错误代码导致的执行崩溃的问题。 修订:截面系统昨收在秒线的含义和分钟线周期不一致的问题。 修订:对.SS,.SZ等代码的市场定义问题。 升级:支持非WININET模式的HTTP支持。 升级:同步发行LINUX测试版。 更新日志--------2019-12-3 ===============此版本为测试版本+++++++++++++++++++需要等待正式版本++++++++++++++++ 修正:夜盘反复更新的补丁。 修订:其他之前发现的数据访问补丁。 更新日志--------2019-11-27 修正:25号版本插入MD数据很慢的问题。 更新日志--------2019-11-26 修正:分钟线在设定VIEWPOINT的时间截面数据问题。 修正:Apache模块TWebRequest类的字符串问题。 更新日志--------2019-11-25 修正:秒线的时间归属问题。 修正:分钟线在设定VIEWPOINT的时间截面数据为0的问题。 增强:提高JDBC的效率,增加了JDBC Linux的原生支持(需等待其他Linux包的发布和更新) 更新日志--------2019-09-26 修正:tsl new对象释放时候计算用户可用内存时会多减少一二十个字节的问题,64位为24个字节,当设定了内存限额的时候因此产生的负值可能会引发内存超限的错误。 更新日志--------2019-09-10 升级:扩展日线数据的代码映射问题。 更新日志--------2019-09-06 升级:因WINDOWS更新导致API行为发生变更,使得TSSVC,TSSVC64在非连续服务名时(例如用注释禁用某些服务的时候)会导致无法监控INI文件的变动,也无法监控到进程的退出重启。 更新日志--------2019-08-23 修正:GetMsgDigest遇到文件无法打开时弹出对话框的问题。 修正:UAC是否打开的判断规则由进程目录的PUBKRNL.INI变为当进程目录不存在PUBKRNL.INI由TSLKRNL.DLL所在路径的PUBKRNL.INI来决定。 更新日志--------2019-08-19 修正:夜盘查找的周末BUG。 更新日志--------2019-08-18 修正:16号版本的BUG。 更新日志--------2019-08-16 升级:支持market.ini升级不重启事件,两种方式,一种是依靠分发的loadconfig命令,另一种方式是用event发送命令. -reloadid2market //reload id2market -reinitmarket //reload market.ini -reinitmarketrestartexec//reload market.ini and restart all exec server -restartexec //restart all exec server -reloadtradedays //reload tradeday.ini 更新日志--------2019-08-09 升级:平台服务多节点支持。 更新日志--------2019-08-02 修正:ArrayDML中存在Nil会使得第一条也为空的问题。 更新日志--------2019-08-01 修正:binary类型execsql ARRAYDML的问题。 更新日志--------2019-07-31 修正:any,all判定行的问题。 修正:binary类型execsql ARRAYDML的问题。 升级:对于ASCII码为1-31的TOSTN转换为\x01 \x1f 更新日志--------2019-07-30 修正:当采用参数调用存贮SQL过程的时候,BLOB类型会存在字符串转换问题。 更新日志--------2019-07-19 升级:支持UTF8常量字符串表达式,U"我们"代表UTF8字符串的我们,新的非转义也支持:U%% 我们%% 升级:.PY文件在客户端编辑,将自动以UTF8格式存贮,以吻合目前PYTHON的默认编码为UTF8格式。 升级:增加PyError()函数,获得PyRun运行失败的内容。do python自动报告错误将自动包括PYTHON的堆栈错误。 更新日志--------2019-07-03 升级:对2012 R2以上版本如存在异常频繁TSL.EXE调度导致的通讯层存在一定概率发生错误的问题进行了尝试,降低发生概率。 更新日志--------2019-07-02 升级:MATLAB 2018B 2019A的支持。 更新日志--------2019-06-28 修正:DeleteIndex,DeleteField的兼容性更高,在字符串下标或者非合并模式的数字下标的删除效率得到质的提升。 更新日志--------2019-06-27 修正:DeleteIndex更新静态变量导致的问题。 升级:do语法升级,允许用in*来输入局部堆栈。例如do python in * 或者rdoext python in * 更新日志--------2019-06-25 修正:R语言支持多条语句的执行。 修正:::语法没有结尾的错误提示。 更新日志--------2019-06-20 修正:一个指定周末后特殊情况下的分钟线故障。 修正:3.5 PYTHON支持库依赖了PYTHON37的问题。 更新日志--------2019-06-18 修正:tsl -libpath参数不工作的问题。 升级:execsql支持preparedstatement模式,也就是当第一个参数为整数的时候(这个参数之前设计为可以用于控制返回字段类型,这样即便为空结果集也可以得到类型信息), 当此整数的最高位为1的时候,例如0x80000000,则之后运行的SQL会作为preparedstatement,也就是可以允许多次复用该字符串,以降低数据库的编译开销。 升级:支持rdoext语法,语法和do语法完全一致,用于将第三方语言的调用运行于客户机。 更新日志--------2019-06-8 升级:非转义字符串%%的支持。 定义如下: %%[标识符]<回车换行|回车|tab|空格>字符串原始串%%[标识符] %% \r\nABC%%代表字符串\r\nABC %%JJC %%JJJ%%JJC代表字符串%%JJJ,其中JJC就是标识符 %% abcd%%代表字符串abcd %%__ printf("%%smc")%%__代表字符串printf("%%smc"),其中__为标识符 升级:类信息classinfo允许用classinfo(1)得到一个类类型。 升级:对外部语言的调用,in表示只送入,out表示只送出,var表示送入送出: 如果使用变量名,会默认将同名变量名送入倒外部语言中,但由于TSL的变量名大小写无关,因而送入的都是小写,假如目标语言大小写相关,可以用name关键字 a:=3; c:=2; do python in a name "A",out b,var c %% c=A*c b:=c*c %%; 结果c为6,b为36 对于不同的语言而言,可能有的语言存在返回值,有的语言是无返回值的。和语言相关,例如PYTHON的没有返回值,而r有返回值。 如果只执行代码,参数等都可以省略。 对于某些语言,可能会存在其他配置的,可以通过by语法来送入。 do extlanguage [paramlist] [by config] 目前extlanguage已经支持python,r,matlab,今后可能更多的语言会被扩展支持,底层用户也可以通过接口规范来扩展支持其他语言。 配合新的%%无转义字符串语法,对于调用其他语言会更方便。 更新日志--------2019-06-2 更新:ETL动态库升级。 升级:CTP交易升级。 升级:tssvc升级,支持进程信息记录。 更新日志--------2019-05-31 更新:客户机送入InternetIP,InternetPort,LoginTime等信息。 更新日志--------2019-05-30 新增:getnone函数可以获得none类型包含的int值。 新增:ifnone(v,i)可以判断是否属于none并且所含整数位i。 新增:当对象重载下标set的时候,none类型的整数值为set的级别,也就是从0,1,2,3....。如果一旦set的过程出现错误,则调用set重载,值为-1的none类型,这样做方便数据库等事务的实现。 新增:API:TSL_GetClientInfo,TSL函数的sysclientinfo函数,获得运行时客户端的信息。TSL里的调用方式为:sysclientinfo([0/1/2],[Name]) 新增:Python的对象类型允许在TSL中直接像TSL对象一样来调用该方法。暂时不支持[]等重载算符。 新增:分发Connect.ini支持多IP配置,用于支持多网段IP。 [Service] MyIPs=192.168.103.9;192.168.102.9;192.168.101.9 这样执行可以不通过分发连接事件的来源IP,而是通过这个IP轮询优先级来连接分发,如果这些都无法连接,最后会尝试连接来源IP。 当存在多个网卡,例如同时存在万M网卡和千兆网卡的时候,可能存在多个网段,但某些计算服务所在服务器却不一定可以连接到高速的网段。这个时候这个轮询就具备了存在的价值。 更新日志--------2019-05-28 修订:最近的版本37,36的Python包被错误链接到3.5的库。 新增:teradata和mongodb的api直连支持。 新增:协议包新增插件支持,支持将第三方信息送入平台,例如CTP本地插件信息。 新增:Python对象传递的支持。 更新日志--------2019-05-25 修订:上一个TSL.EXE版本执行带参数存在问题。 新增:增加了对.py/.m/.r存贮的支持。 升级:SetSysParam,GetSysParam等函数提供了客户机和服务器相同的实现逻辑。对R/PYTHON在服务器端运行提供了直接调用TSL服务器函数的支持。 修订:防止new 类名和属性名同名时产生的问题。 更新日志--------2019-05-06 修正:基本面更新有时无法插入的问题。 修正:某些时候秒线计算数量的多推移问题。 新增:TSL.EXE -libpath参数 新增:空case of的问题。 新增:tssvc新增NUMANODE设定,例如:NUMANODE001=0可以将进程绑定到特定CPU节点上 更新日志--------2019-04-29 修正:混淆日线数据和扩展日线数据在清除更新等操作导致事件的数据问题。 支持:tsl.conf中增加System段里的Libpath参数,可以设定附加的路径,这个路径里支持{$P}来替换为当前所在路径,这种使用主要解决TSL.EXE调用所开发多个.tsl编写的应用的函数重名问题。 例如可以在tsl.conf加入 [system] libpath={$P}funcext\ 这样可以使得.tsl所在的路径下的funcext会成为优先的funcext路径。 更新日志--------2019-04-28 兼容:有2019年1月开始,修订了可以访问到私有的property的问题,但由于有的老程序正好利用了这个特性。 在TSL.INI新增了支持,一旦设定该选项为1,则任何可视的property都可被访问,无论是public还是protected,private。默认情况下这种违反规则是不被允许的。 [Compatible] PrivatePropertyAccess=1 更新日志--------2019-04-27 修正:事件插入数据时,当同一个代码扩展日线和标准日线混用导致的索引换乱问题。现在会做检查,会跳过扩展日线插入标准日线或者标准日线插入扩展日线的数据。 更新日志--------2019-04-25 修正:MEMDB64.EXE对基本面小文件模式的支持。去除MYSQL之类的依赖,文件大小大幅减少,启动效率快速。 更新:纯数字代码的映射。以43,42,40,81->89开头的映射到NE,以75,77开头的映射到SH,其余的映射到SZ 修正:SysBugCheck /o 输出内容不完整或者加空行的问题。 更新日志--------2019-04-24 新增:MagicSetArray和MagicGetArray函数,对数组提供函数支持: MagicSetArray(A,1,2,3,4,99)等同于对数组A进行A[1][2][3][4]:=99。 MagicSetArray的另外一种写法为: MagicSetArray(A,array(1,2,3,4),99),也是同样的,也就是说,第二个参数一旦是数组,认为数组内的数据就是下标。 MagicGetArray(A,1,2,3,4)等同于对数组进行A[1][2][3][4]的获得操作。 MagicGetArray的另外一种写法为: MagicGetArray(A,array(1,2,3,4)),也是同样的,也就是说,第二个参数一旦是数组,认为数组内的数据就是下标。 修订:MD的差别,一旦用MD获得一个不存在的MD数据,数据将返回为nil,之前的行为是不确定的,可能会返回不特定的数字。 修订:AnsiPos函数的位置是将汉字当一个字符。在2018年8月到2019-04-18的版本中,AnsiPos的含义和Pos相同,缺乏意义,进行修订保持原来的含义。 修订:WriteToLog的互斥问题。 修订:日线chuquan可能无法访问的问题。 更新日志--------2019-04-18 新增:TS_ModuleInfo的函数,支持TS_ModuleInfo()返回两行两列,代表进程以及TSLInterp.dll的时间以及大小信息。 如果有系统权限信息,用TS_ModuleInfo(1)返回所有模块的文件名和时间。 修正:importjsonstring对特殊的含有反斜杠的中文无法处理的问题。 修订: ViewPoint的一个问题。 更新日志--------2019-04-17 修正:Debugreturn无法返回网格数据。 更新日志--------2019-04-16 修正:扩展品种高频时间序列可能会特别缓慢的问题,导致读锁很长的问题。 修正:函数保存的消息可能会被阻塞的问题。 修正:将做基本面和市场类数据的下载分开,防止互相干扰。 修正:将基本面和市场数据的锁分离,降低基本面更新对行情读的写干扰。 修正:执行和分发如果启动时无法连接上事件允许间隔1秒1000次重试后再重启。 更新日志--------2019-04-12 修正:继续修正插入数据不重启可能无法访问的问题。 修正:Reindex可能存在的内核错误问题。 新增:支持执行的分组管理,以支持提交分组计算。 范例,假如我们创建两个执行服务分组LowSvr和PythonSvr,在Task所在目录的config.ini中加入如下内容 [AppGroup] LowSvr=HaHa;127.0.0.1:D:\tinysoft\bin642\Exec64.exe PythonSvr=127.0.0.1:D:\tinysoft\bin642\Exec64.exe;127.0.0.1:D:\tinysoft\bin64\Exec64.exe 这样,可以使用LowSvr和PythonSvr来设定任务提交的服务执行群组。(在客户端指定,或者在#的with中指定,又或者在API调用中指定服务) 更新日志--------2019-04-11 新增:新增读长锁的日志。 修正:插入的数据不重启可能无法访问的问题。 新增:#的with参数里允许用"@AppServerId@"下标来指定需要送入的服务,这个服务可以是服务群组名,也可以是每台执行的名字,例如ip:路径模式,也可以是Exec64.exe.name设定的名字。 当名字超过20个字符的时候,前二十个字符有效。 如果使用Api,指定服务,也可以使用这个机理设定到指定的执行名。 客户端在服务选择中将会列出执行名。(也采用了截断20个字符) 更新日志--------2019-04-09 修正:夜盘等问题。 尝试修正:长锁的问题。 修正:左除错误没必要的日志的问题。 更新日志--------2019-04-04 修正:夜盘秒线TradeDays可能多一个点的问题。 升级:支持单行文本文件Exec64.exe.name来描述服务的名字,在分发中列出的将是这个名字,名字不能超过19个字符。 升级:tsappservername函数将返回上述设置的名字。如果没有设置,默认是ip:进程路径,原有tsappserver暂时保持不变。 更新日志--------2019-04-02 修正:夜盘分钟线TradeDays可能多一个点的问题。 更新日志--------2019-04-01 修正:支持COM对out类型参数进行返回诱发的0参数BUG。 修正:执行在更新配置文件后对当日的数据的修订处理。 更新日志--------2019-03-27 升级:支持COM对out类型参数进行返回。 升级:SysBugCheck.EXE,由于Windows 2012以后的版本,尝试分配可能会产生副作用。 在2012下如果要监控,可以用 SysBugCheck /g /po,可以检查字符串,也可以检查进程返回值。 在2012下如果发生了严重泄露(这些泄露可能是瑕疵版本库所引发的),又不希望重启服务器,可以SysBugCheck /g /d尝试删除泄露的内容。 Usage: [/g] switch to global mode,default is local mode 全局原子模式 [/po] print string atom only 仅打印字符串原子,这个选项在2012下才安全 [/c nnnnn] try Allocate nnnnn times 尝试分配的次数,默认是最大次数 [/p] print string atom 打印字符串原子 [/d] try delete leaked string atom(maybe no safe!) 尝试删除可能由瑕疵版本以及EDGE浏览器泄露字符串原子,这样可以在不重启操作系统的情况下解决问题 [/o file1.txt] output to file1.txt 将输出到文件中 [/?] help process exit code: if use /po return the count of string atoms, 进程返回代码,如果/po模式,则返回现有的字符串原子数量,这个可以用来监控,超过10000就属于很危险,一般情况下应该在几十数百最多数千 else if allocate atom success return 0 否则当尝试分配成功则返回0 else return the max count of allocated 否则返回尝试成功的次数 更新日志--------2019-03-25 修订:TSL.EXE有时候会出现无法退出的问题。 更新日志--------2019-03-18 修订:importjsonstring和exportjsonstring支持nan和inf,相应的浮点转换为NaN,Infinity,-Infinity。注意:json规范并不支持nan和inf,这样做只是为了使用上的便捷,转换串保持和python处理的兼容,无法保障在其他语言中可以正确处理转换出来的json串。 升级:sysbugcheck支持参数/g /c /o,/g表示全局原子,/c 512表示尝试分配512次,/o C:\out\1.txt表示输出结果到该文件。 如果正确,进程返回值为0,否则进程返回值为出错的个数。 更新日志--------2019-02-25 修正:Viewpoint的问题。 新增:增加关闭BASIC功能开关。 回滚:由于行情处理原因,对优先级进行提升。 更新日志--------2019-02-18 修正:Select对象的时候DataNext和Prev增加了一个是否判别日期的参数。 修正:viewpoint的问题汇总。 修正:支持Binary的tsl类型在execsql的参数中。 新增:Integer,Int64函数对其他类型的转换,可以获得地址作为唯一值。 更新日志--------2019-01-30 修正:Select夜盘首日夜盘存在无法提取数据的问题。 修正:Select夜盘可能存在提取到的数据超过datekey的结束参数的问题。 新增:matlab 2018b支持库。 修正:ViewPoint设置到周末的非交易时段导致的问题。 更新日志--------2019-01-29 修订:分钟线和秒线的13:00分的归属问题。 修订:Property的Private被调用的问题。 修订:Inheritd的Private被调用的问题。 更新日志--------2019-01-11 修订:SQL语法对TSL对象支持允许没有of(即便有TSqlSetDataKey的实现的时候),这样对象可以同时支持有或者无of的两种情况。 更新日志--------2019-01-08 修订:SQL语法对TSL对象支持的一个特殊的小问题。Update 语句中Set Thisrow=之后不会主动调用对象的Post方法。 更新日志--------2019-01-03 修订:XLSX的ZIP存在问题的时候,可能会导致死循环无法结束的问题。 修订:XLSX的读写类对Chart图的支持。 修订:一种极特殊用法的和参数相关的BUG(正常使用不会应用到)。 更新日志--------2018-12-21 新增:支持提交优先级,这样在队列中的排队处理优先级高的会先运行。新增TSL.exe端函数setrunpriority,getrunpriority,并新增r/python相关函数。客户端菜单新增了优先级选择。 修订:密码过期不能被block的BUG。 打包:manager2r.exe和manager64.exe打入升级包。 更新日志--------2018-12-17 新增:基本面数据的返回增加系统参数选项,pn_EmptyMode(),可以设定当记录不存在的时候report和base的缺省行为。 系统参数的取值可为下列数字: 0:缺省值,设置为整数0 1:设置为Nil 2:根据字段的数据类型设定,浮点为0.0 3:设置为短杠字符串 4:设置为N/A字符串 5:设置为浮点NAN 6:根据类型设定,浮点为NAN 更新日志--------2018-12-14 修正:TSJDBC缺少一个类。 更新日志--------2018-12-11 修正:数据库NUMERIC类型超过浮点精度的数字会导致出错的问题。 新增:分发的config.ini配置,设定当没有可用执行资源的时候,最大的等待毫秒数。 如果无限等待,可以将其设置为0或者负数。 [Service] MAX_WAIT_TIMEOUT=0 更新日志--------2018-12-7 修正:超过大小约束的函数无法同步下载到客户端的问题。 更新日志--------2018-12-6 修正:32位下浮点或者64位整数作为$的第一个操作符会导致错误。 修正:数据库的事务中,当执行SQL操作出错的时候,会自动关闭事务的问题。 更新日志--------2018-12-5 修正:Inherited关键字的问题。 更新日志--------2018-12-4 更新:支持inherited关键字,用于调用父类的方法。 增强:提高客户端发往平台的List命令的执行效率。 更新日志--------2018-11-26 修正:ViewPoint对周末的月线和周线处理的BUG。 增强:tssvc增加path选项,支持启动的路径,对执行的CMD支持最大4096个字节,以支持JAVA这种启动路径很长的应用。 增强:jdbc支持日志。 修正:tslogin.dll适配新的ace.dll 修正:endexecute在没有发送过命令会崩溃的问题。 更新日志--------2018-11-23 更新:支持属性类方法里直接使用。 修正:ViewPoint对周末的处理的BUG。 修正:交易明细周期在集合竞价时间段的处理问题。 更新:新增SelectOpt(16384)这个选项,允许在返回结果中的RefOf以及移动聚集函数在Order by 之后使用结果集作为序列(而非原始序)。 更新:基本面信息支持获得记录的更新时间。 更新日志--------2018-11-20 更新:refof以及聚集函数在order by存在的情况下(且不是在Group by中),用SelectOpt(16384)可以使得返回列表中的聚集函数或者refof以排序后的结果集为基准。 更新日志--------2018-11-15 修正:支持对象a.b+=10这样的操作。 修正:支持属性setter getter为类成员时在类方法里直接使用。 修正:Ado模式数据无符号溢出问题。 更新日志--------2018-11-6 更新:和客户端动态库同步。 更新日志--------2018-10-22 修正:第一笔交易价格不是开盘价时的分钟线不正常的问题。 更新日志--------2018-10-17 修正:sql对面向对象的支持,通过测试。 新增:sql对二进制类对象的支持,通过测试。 更新日志--------2018-10-16 修正:对象构造内核的一个极特殊问题。 新增:objectstate可以获得对象的状态。 新增:TStringList对象[]算符重载。 更新日志--------2018-10-15 修正:对象Select查询的方法TSQLGetCurrentDate,TSQLInsert应为无参数。 更新日志--------2018-10-14 升级:在对面向对象进行方括号重载的时候,设置和获取支持多级,当多级的时候,中间返回值应该是对象。 升级:增加isnone函数,在检测算符重载设置的时候,如果设置的值为none类型,则为中间级设置。 当对象进行如下操作a[i][j][k]:=100的时候,a[i]设置返回的是一个对象值,再对[j]进行设置,返回一个对象,然后对[k]进行操作设置100。 如果要让对象类似数组一样实现自身的[i][j][k],可以在none类型的时候记载下标并且返回self对象,设置值非none的时候一次性处理这个设置操作。 升级:TSL.EXE 64位的最大堆栈设置为64M。 更新日志--------2018-10-11 升级:新的编译器版本编译。 升级:增加cov,commaexpr预定义编译选项。 升级:新增(a:=1,b:=2,a+b)这样的类C++逗号表达式。 更新日志--------2018-9-28 修订:sp_slopeandIntercept未实现的问题。 更新日志--------2018-9-21 修订:矩阵扩大内存不够诱发的崩溃。 更新日志--------2018-9-20 修订:sp_skurtosis和sp_skewness的计算。 更新:双序列支持一个一维数组和多维数组一起进行计算。这样方便计算一组股票和一个BENCHMARK的相关系数等。 更新日志--------2018-9-19 修正:exportfile ftxls2到xls文件的问题。 更新:integer/int64函数支持表达式类型转换为数字。 升级:新增双序列函数,Cov,Correl,Rsq,Slope,Intercept,Steyx 新增时间序列函数,sp_large,sp_small, sp_percentile,sp_percentrank,sp_quartile,sp_rank,sp_trimmean,sp_frequency,sp_geomean,sp_harmean,sp_median,sp_mode, sp_product,sp_totalvariance,sp_norm,sp_skewness,sp_kurtosis,sp_skewness2,sp_kurtosis2 新增双序列时间序列函数:sp_cov,sp_correl,sp_slope,sp_intercept,sp_rsq,sp_steyx 新增双序列SQL聚集函数:covof,correlof,slopeof,interceptof,rsqof,steyxof 更新日志--------2018-9-10 修正:行情记录更新支持64位ID。 更新日志--------2018-9-6 修正:执行的系统板块和市场支持64位ID。 更新日志--------2018-9-5 修正:系统板块和市场支持64位ID。 更新日志--------2018-8-31 修正:FindClass查找对象的子类存在无法查找的问题。 更新日志--------2018-8-29 修正:nil减去其他数字的时候可能会得到不是预期的值。 修正:在重任务插入数据的时候,事件可能存在多线程安全问题。 更新日志--------2018-8-28 修正:执行采用事件的数据块的版本,不再重新计算CRC。 升级:算符重载除了ANY类型以外,支持FindClass等返回的对象等。 增加:SQLIn算符。 更新日志--------2018-8-27 修正:8月24日版本downloadover过早发出导致数据同步未完成就接受任务的问题。 修正:由于64位代码,高频索引从min.ind3变为min.ind4,否则会出现高频数据访问异常等问题。如果存在不方便升级的已使用了64位ID客户,请删除掉min.ind3,重做索引。 更新日志--------2018-8-26 修正:JDBC驱动无法进行多线程工作的问题。TSJDBC.ZIP 更新日志--------2018-8-24 修正:执行重复下载数据的问题。 修正:MD类型数据更新和获取的时候冲突可能会导致CRASH的问题。 修正:解释器的对象的classinfo子类有初始下标问题。 升级:将函数的更新信息由分发直接传递给执行。(事件和分发同时都给执行,执行仅仅只是多执行一次清理工作,对效率和功能无影响,但可以保障及时的函数状态更新) 更新日志--------2018-8-23 修正:月线和周线在spec切换股票的时候可能会导致影响后边的当日数据访问到之前切换的股票。 修正:chuquan文件从16字节到支持64字节,否则虽然数据进去,但是日线依旧存在问题。 更新日志--------2018-8-22 修正:解决特殊客户机登陆诱发的事件崩溃问题。 修订:Internetrequest以及gethttp当使用HTTPS的时候,无法打开证书有问题的URL。 更新日志--------2018-8-16 修正:pubkrnl.dll对使用到快速排序的sorttablebyfield等函数造成的BUG,以及客户端排序的问题。BUG从最近的BETA测试开始就存在,需要紧急修正。 更新日志--------2018-8-15 修正:TSLUtils.dll 对Import Export DBF类型的文件失败的问题。 修正:特殊情况下函数类型的释放会出错导致崩溃。 更新日志--------2018-8-14 升级:解决TSL.EXE或者其他组件重新退出调用超过一定次数会导致TSL.EXE连接平台失败的问题。 注意:TSL64复制extkrnl.dll,支撑登录等获得客户机的MAC地址信息 一个已知问题,虽然加入了对最新的驱动的支持,但如果采用ODBC DRIVER 17 FOR SQL SERVER,存在可能导致TSL.EXE无法正常退出的情况。对于SQLServer的驱动,建议采用SQL SERVER NATIVE CLIENT 11.0。 升级:Unicode支持,包括ExecSQL允许当别名为WideString的时候,默认使用WideString。SQL里的Select支持在SelectOpt里加入8192选项,使得返回字符串为Unicode。 对于Com,Ole的对象,一旦创建采用WideString,则之后调用返回的字符串则使用WideString。 升级:Unicode支持,底层字符串计算的相关基础函数几乎都支持Unicode,但目前和数据仓库系统参数等不支持。基础的类支持Unicode模式,一般类方法调用如果带字符串参数返回也为字符串的,则采用一致类型,其余大部分返回字符串的类方法均添加了W结尾的方法返回WideString。 Unicode升级,在以下有现实意义: 一是文件访问,由于文件名可能无法转换为MultiByte字符串表达,这样只能用Unicode文件名才可以访问。 二是像邮件处理之类的,一些特殊字符编码为UTF8类型,无法正常地转换到MultiByte,需要Unicode支持。 三是数据库的字段,一旦采用Unicode编码,也会存在无法解码到MultiByte格式,需要Unicode支持。 四是对DLL外部调用,支持Unicode可以更好地进行映射。 升级:平台支持默认权限品种INI里的黑白名单支持,使用正则表达式。 [STOCK] BLACKLIST=^S(Z|H).*\.IW$ WHITELIST= 更新日志--------2018-8-9 升级:基本面支持更大的索引文件。 修正:TSL被调度多次后导致连接平台问题, 需要同步更新TSL64,TSL目录下的库。 修正:平台的大数据更新时可能的消息阻塞问题。 BETA:语言包括正则表达式以及底层函数、类等一大波的UNICODE支持。 更新日志--------2018-7-18 修订:tslutils.dll的ReadExcelSheets的多一个空串的问题。 更新日志--------2018-7-16 升级:最新的WINDOWS平台升级导致的WINDOWS 2008 R2里的ODBC数据库访问兼容性出现问题。增强了和新WINDOWS补丁的兼容性。 更新日志--------2018-7-12 修正:时间序列数据存在丢失的问题。 升级:__line__关键字获得行号。 升级:parseregexpr支持替换模式 升级:Operator重载支持[],用[]或者[0]重载getter,用[1]重载setter。 支持++,--重载,如果没重载,没重载++,--,+=,-=可替代 新函数: datetimetointernetstrw datetimegmttohttpstrw datetimegmttocookiestrw concat,getchar,setchar支持wstring 更新日志--------2018-6-19 升级:string,widestring,binary三个函数均支持widestring类型,且支持数组。增加WideChr函数,Ord升级为支持WideString,且WideChr,Chr,Ord均支持数组。 更新日志--------2018-6-14 升级:实时行情支持64字节。 升级:同一客户端在上一次保存未返回的时候连续CTRL+S保存函数,不会出现版本不正确的提示。 更新日志--------2018-6-8 升级:实时行情支持64字节,修正日线数据下载的问题。 升级:分发os,oe增加PSENDS,PSEND(M)的内容,可以查看到和这些服务器通讯有多少个包、多少个字节未被对端接收。 更新日志--------2018-6-6 升级:品种ID、名称的长度升级为64字节。