分析家公式网,提供股票公式,股票软件用户登录  |  用户 注册
TBV4公式升级说明
  • 软件大小:0 Bytes
  • 推荐星级:
  • 更新时间:2013-03-21 06:47:55
  • 软件类别: 国产软件 / 开拓者公式
  • 软件语言:简体中文
  • 授权方式: 共享软件
  • 联系方式:暂无联系方式
  • 官方主页: Home Page
  • 点击大图:  【一键转帖到论坛】
  • 插件情况:
  • 运行环境:Win2000/WinXP/Win2003/WinVista
  • 相关Tags:指标公式 股票软件,公式源码
  • (0)0%
    (0)0%

软件介绍

 
  •  经过很长一段时间的开发和调试工作,TBV4终于快要正式发布了,感谢各位朋友一路以来的关注和支持,这次升级主要是公式评台的升级,修改可谓天翻地覆,杯具的就是,由于改动太多,没法直接兼容TBV3的公式以及导入导出文件,请大家谅解!

    一、公式升级取消的功能点:
    1、内建平仓指令:
        已删除8个内建平仓函数,准备等新版本稳定后以用户函数的形式提供类似功能。
    2、保证金不足强平机制:
        旧版公式在测试和实际交易中,如果出现保证金不足的情况,会产生强制平仓的指令。考虑到保证金不足是以虚拟资金计算,如果设置不正确可能会导致实盘平仓的严重后果,所以取消该功能。
    3、延迟发单机制:
        旧版通过交易函数中使用delay参数达到延迟到下一个Bar开盘发单的效果,在实际应用中,通过Delay参数只能使用NextOpen等未来函数来获取价咯,整个设计过于复杂。考虑到可以通过获取上一个Bar的条件值来进行判断,在当前Bar开盘交易这种方法替代延迟发单的机制,决定取消该功能。
    4、公式类型调整:
        用户字段,技术指标,K线型态,特征走势,交易指令这5种类型公式统一为公式应用,公式应用既可以输出线条,也可以进行交易。
    5、公式的条件表达式取消无效值传递机制:
        旧版本中,如果 a = 无效值 , b = 100, 则 a + b = 无效值。+-*/等数学运算及> < 等逻辑运算表达式都支持无效值传递机制。
        新版本中,如果 a = 无效值,b = 100,则 a + b <> 无效值。所以不能再用旧版本的方法来进行无效值判断。
       进行这种调整是因为旧版本对所有的运算符进行了重载,但这种重载浪费大量的计算时间,导致公式执行效率低下,为了提高公式的运行效率,决定取消这种机制。
       在旧版本系统中,可能有以下类似的写法:
       bInBoardRange = (Open < Q_LowerLimit + 10*MinMove*PriceScale) Or (Open > Q_UpperLimit - 10*MinMove*PriceScale);
       在不是当天的Bar上,因为Q_LowerLimit和Q_UpperLimit是无效值,因此整个表达式都是无效值。bInBoardRange的值为False,所以能够正常使用。
       同样的代码,在新版中,由于没有无效值的传递机制,在不是当天的Bar上,bInBoardRange的值可能是True,系统不能正常的运行。
       为了处理这种情况,需要进行有效性判断,大致代码如下:
       bInBoardRange  = false;
       If(Q_UpperLimit != InvalidNumeric && Q_LowerLimit != InvalidNumeric)
       {
          bInBoardRange = (Open < Q_LowerLimit + 10*MinMove*PriceScale) Or (Open > Q_UpperLimit - 10*MinMove*PriceScale);
      }



    二、公式升级增加的功能点:
    1、叠加商品可以进行交易和测试:
        旧版本只能使用Buy(1,MyPrice);这样的语句进行交易,新版本可以使用Data1.Buy(1,MyPrice),以及Data1.MarketPosition这样的函数获取交易状态。大部分函数都支持使用Data#.前缀进行调用。
       这样可以方便的实现多个商品的,单个系统的组合测试,可以测试套利和对冲系统。
    2、PlotNumeric,PlotString,PlotBool画线输出函数增加定位点参数:
        以PlotNumeric距离,其他类似,PlotNumeric的前两个参数保持不变,第三个参数修改为定位点参数,默认参数为0,其他的参数和旧版一致。
        当我们使用定位点函数时,对于PlotNumeric,将输出一条线段,连接定位点和输出值的点;PlotBool和PlotString将在指位置画出相应的内容。
    3、增加投资组合函数:
        增加portfolio_XXX类型的函数,用户获取当前图表,当前公式应用对应的投资组合的状态和性能信息,原CurrentCapital用Portfolio_CurrentCapital代替。
    4、序列变量自动传递最新值:【new】
         旧版本中为了序列变量的上一个Bar值,需要编写语句 MyVar = MyVar[1];
         新版本中变为自动传递,即可以省略这条语句,但随之带来的变化就是,序列变量的默认值,只会在第一个Bar有效。
    5、Bar数据和序列变量在回溯越界时取值调整:【new】
         旧版本中,Bar数据和序列变量,序列参数等值,当回溯的索引越界是,即Value[nOffset]的nOffset > CurrentBar时,会是无效值。
         新版本中,这种情况下会用该数据源的第1个值代替。
    6、叠加数据时补齐数据方式:【new】
         多个商品进行叠加时,可能在数据的前段出现某个商品有数据,但其他商品无数据,旧版本会使用无效值填充。
         新版本使用第一个有效的Bar的Open填充高开低收,成交量设置为0,持仓量设置为第一个有效Bar的持仓量。
    7、公式应用全局变量扩容:
        单个公式应用的全局变量从50个扩充500个。
    8、单个图表内多个公式之间的相关性:
       旧版本中,单个图表中的多个交易指令会相互影响,形成干扰。虽然利于将开平仓等指令进行模块化,但不利于利用zi源。
       新版本中,单个图表中的多个公式应用就像以前的多个技术指标一样,不再有相关性。这样就可以很容易的单个图表驱动多个交易系统,节省电脑zi源。
    9、公式编译提速:
       调整旧版本所有公式联编的架构,客户修改用户函数时,需要重新编译所有的自定义公式应用,编译公式应用时,只需要编译当前公式应用即可。
       如果客户完全了解用户函数和公式应用的调用关系,在开发调试用户函数过程中先选择单独编译用户函数,等用户函数算法稳定之后,再全部编译一次,这样可以大幅提升系统开发速度。
    10、交易策略参数优化提速:
       通过调整价咯,公式运行速度得到近10倍的提升,并增加了多线程测试,在性能强劲的电脑上,可以达到旧版本几十倍的测试速度。可以考虑攒钱买32核电脑进行测试了。
       另外,交易策略的参数优化增加了参数淘汰率,要使用淘汰算法,需要将重要的参数放在前面,测试完一个参数之后,按比例淘汰较差的参数。提升测试效率。
    11、投资组合测试报告:
       单个图表可以支持多个交易系统的执行,同时我们增加了对多个交易系统的测试报告组合分析。方便评估多个系统的组合效果。
    12、公式导入导出中增加无源码模式:
        对于用户的公式应用,考虑到安全问题,我们增加了无源码加密的方式,将执行文件直接导入导出,方便交易系统的应用。为了控制时间和权限,用户可以在公式代码中增加时间验证和账户验证,这样编译后的公式在应用过程中再无后顾之忧。
    13、讯号消失的处理机制调整:
        旧版本中,如果出现系统的讯号消失,会反复开仓,导致头寸完全混乱,并可能出现巨大的亏损。
        新版本中,对于用户操作失误写出的讯号消失的系统,第一次发单之后,不在重复发单,当出现讯号消失时,还会弹出提示,提醒用户修改系统代码。
    14、循环代码体内调用序列函数的支持:
        函数代码内有使用序列变量或序列参数进行计算的称为序列函数,旧版本中在循环体内调用序列函数会出现计算出错的问题,新版本对于这种情况进行了修复。
        但要确保这种写法的正确执行,必须保证每个Bar,这个循环体的执行次数都是一样的。否则仍然会出现错误。同样的原理,If条件语句里面不能使用序列函数进行计算。
       下面是一个错误写法的例子:
       If(MarketPosition!=1 && CrossOver(Avg1,Avg2))
       {
           Buy....   
       }
       因为MarketPosition在等于1的情况下,会导致后面的语句不被执行,这样,就不是每个Bar都调用了该序列函数。就会出现数据计算出错。
       正确的写法如下:
        MyBuyCondition = CrossOver(Avg1,Avg2);
       If(MarketPosition!=1 && MyBuyCondition )
       {
          Buy...
       }
    15、函数序列参数的输入值验证:
         旧版本中,CrossOver这样的函数,因为两个参数都是序列参数,只能使用两个序列变量,比如Avg1,Avg2作为参数进行传入。不能使用CrossOver(Close,1000)这样的写法。为此,旧版本中还增加了CrossOverHor这样的函数来处理这种情况。
         新版本中,可以直接传入普通值进行计算,甚至传入数据的回溯值。旧版本中CrossOver(Close[1],Avg1);这样的写法是正确的,但CrossOver(Clos
 

软件评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

说明

* 使用方法:点击上面蓝色块,打开新页面按照提示进行

* 本网站提供的各种股票软件,例如大智慧软件,通达信软件,同花顺软件,东方财富通等等,和各种股票公式指标,例如大智慧公式,通达信公式,同花顺公式,文华公式,博易大师公式,股票价格计算公式等等公式指标等,都来源网上公开来源收集

本网提供的公式文件说明:
* alg格式飞狐股票公式,可以用飞狐交易师或者交易师软件导入;
* fnc格式大智慧新一代公式指标,可以用大智慧股票软件使用,少部分可以用分析家股票软件引入使用;
* exp格式大智慧经典版股票公式,仅可以用大智慧经典版股票软件引入使用;
* tni和tnc格式通达信股票公式,仅可以用通达信新引入使用,例如可以用通达信股票软件引入使用;
* tne,tn6格式通达信公式,可以用通达信公式编辑器5.0版导入,推荐通达信金融终端版本;
* hxf格式同花顺股票公式,仅可以用同花顺股票软件引入使用。
以上的各种软件都可以在本网股票软件栏目找到!

* 关于股票公式时间限制,如果在引入大智慧公式,交易师公式或者飞狐公式的时候,发现公式名称栏是空白的,这时候调整电脑时间到1997年,又能出现公式名称,并且能正常显示,可能是公式使用期限已过。
* 关于还原公式源码如果你忘记了自己编写的大智慧公式,通达信公式,同花顺公式,操盘手公式,飞狐公式,博易大师公式,金字塔公式,文华公式和交易师公式等等公式的密码,本网可帮恢复源码,有.偿.服.务无意勿扰,点击在线咨询联系我。

* 关于股票公式源码编辑
本网提供的源码,一般都可以编辑成公式,如果不明白公式的编辑,在本页右侧教程录像可参考,或者找公式教程资料学习,请搜索:教程

* 如果您发现软件内容或者链接错误,请点击报告错误谢谢!
* 站内提供的所有软件包含源码均是由网上搜集,若侵犯了你的版权利益,请联系通知我们!

关于本站 | 网站帮助 | 广告合作 | 声明 | 友情连接 | 网站地图 |
分析家公式网声明:本站所有股票公式软件资料均网上公开收集,如侵权请联系删帖。站内所有广告,均与本站无关!
Copyright © 2003-2022 fxjgsw.Com. All Rights Reserved .
页面执行时间:17,796.88000 毫秒