以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  后台测试问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=174417)

--  作者:marks
--  发布时间:2020/2/19 10:43:22
--  后台测试问题
请问,不知道哪里设置不对还是怎么,以前回测可以正常开平仓的现在都开不了仓。
写了一个最简单的开平仓,回测只有开仓没有平仓。是哪里设置的问题吗?
最简单的代码如下 :
A:=10;
AA:=10;


if THOLDING=0  then 

begin
 
    TBUY(1,1,LMT,DYNAINFO( 28));
    止盈:=TENTERPRICE+A*MINDIFF;
    止损:=TENTERPRICE-AA*MINDIFF;
   
   
end

if THOLDING>0 then
begin   
if C>=止盈  then 
    TSELL(1,0,MKT);
   
   
        if  C<= 止损 then 
    TSELL(1,0,MKT);
   
end

--  作者:FireScript
--  发布时间:2020/2/19 10:56:19
--  
本地测试正常:

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

--  作者:FireScript
--  发布时间:2020/2/19 10:56:35
--  
你看下是不是回测设置成了T+1模式了
--  作者:marks
--  发布时间:2020/2/19 11:04:48
--  
设的期货T+0,还是只有一单开仓,其它什么也没有。
刚才又测之前回测好用的程序,又可以正常出结果了,但是这个最简单的程序依然不行,还有哪些地方要设置

--  作者:FireScript
--  发布时间:2020/2/19 11:09:15
--  
你公式是不是设置成了序列模式了啊。
--  作者:marks
--  发布时间:2020/2/19 11:12:11
--  
是序列模式,不应该是序列模式吗
--  作者:FireScript
--  发布时间:2020/2/19 11:13:04
--  
序列影响到了IF的判断机制。大部分情况下用逐K模式+勾选仅刷最后一个K  这样就行了。
--  作者:marks
--  发布时间:2020/2/19 11:17:27
--  
那我跑实盘的时候是不是选择序列,只有回测的时候才选逐K
--  作者:FireScript
--  发布时间:2020/2/19 11:27:30
--  
不是。现在大部分情况下都是使用逐K模式的。我建议你也这样设置,否则后面更复杂代码的一些逻辑可能实现不了。
--  作者:marks
--  发布时间:2020/2/19 11:42:37
--  
那逐K的话不是会影响实盘的现价成交什么的吧
还有后台回测的时候只有一段时间有成交,其它时间没有成交是哪的问题,比如回测半年的数据,只给出了前两个月左右的成交,如果把时间调到后面的时间就没有成交。