全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
新手程序问题求助
gbvictor 分享到
2022-06-29 17:07

If(BJCCD1==1 && BJCCD2==1 && BJCCD3==1 && BJCCD4==1 && MarketPosition==0)
        {
            BJCW=Open;
            BZSW=Lv(6);
            BZYW=BJCW*(1+0.05);
            BJCN=Max(1,Min(30000/BJCW,3000/(BJCW-BZSW)/ContractUnit));
            Buy(BJCN,BJCW);
            A_SendOrder(Enum_buy,Enum_Entry,BJCN,BJCW);
            NewSG=1;
        }

为啥Buy执行了,但是SendOrde不会执行?问客服客服让来论坛发帖问,也是服了……

tblaocai

您好!Buy指令和A_SendOrder指令是各有各的用法的,虽然您很想速成,但有些基本概念还是要麻烦您沉下心来先学习下。因为要解释您的这个问题,真的有很多话要说。

2022-06-29 21:19
tblaocai

为了避免您说我们踢来踢去。我大致给您解释几句,如果还是不明白,那也只能说实在是用几句话要说明白难度太大。

Buy\Sell\SellShort\BuyToCover这几个指令,是图表信号指令。简单说就是达到条件,就在图表上标上买卖信号,有了信号就会有盈亏,有了信号,就会有持仓,有盈亏,等等。但这些都是理论上的信号,理论上的信号在实盘交易跑策略时,就会把真实的信号发出去,发到策略单元关联的交易账号上。当然这只是个大概的说法,在开始实际交易之前,您需要了解一个Buy/Sell策略是如何运行的,如何创建一个策略单元,用什么数据来做交易,如何设置样本数据,如何设置交易成本,如何关联账号,这其中每一步都有相关的内容需要了解。。。。。这个一定要您自己去看资料的。

和理论信号对应的,有很多函数,比如您用的marketposition ,就是一个反应理论信号的持仓情况的函数,这类的函数有很多,根据您的需求去了解需要使用那些,查看帮助文档,了解具体用法。

当然理论信号和实际发单如何保持一致,是个问题,TB提供了交易助手、监控器等工具,您也需要了解这些工具的用法,如果不了解,就直接开始,您的问题会一个接一个,所以,基础知识学习是必须的,这个是急不来的。

用Buy/Sell指令写策略的好处是相对简单,只要把交易条件写清楚,不偷价,不信号闪烁,避免序列函数问题。。。就能很简单地实现一个策略。具体例子,可以看内置的双均线策略、海龟策略等,看懂这2个,基本的也就了解得差不多了。这两个例子中肯定包含很多的TB语言语法,需要一点点去搞懂。

用Buy/Sell也有一些无法实现的策略,比如涉及到订单管理的,就没法写。这种情况下,就要用到A_SendOrder类指令,我们一般称为A函数指令,A函数指令相对来说自己要处理的东西要多一些,上面该了解的知识也是必不可少的。

Buy/Sell相关的函数对A函数来说是没意义的,所以一般不会两种指令混写在一起。但TBQ现在的功能已经非常强大,掌握到一定程度,混合在一起写策略是可以,只是初学者,是没有这种能力的。

真的,就您这个问题,我要慢慢跟您说,估计一天一夜也说不完。所以,实话讲,这真不应该是做为问题来问的问题。如果觉得量化就是直接加上策略就跑,我可以负责任地告诉你,你想得太简单了。

2022-06-29 21:40
您未登录,请先 登录注册 后发表评论
顶部