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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教DEBUGFILE和DEBUGFILE2

   

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


  共有3201人关注过本帖平板打印复制链接

主题:请教DEBUGFILE和DEBUGFILE2

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


加好友 发短信
等级:新手上路 帖子:97 积分:0 威望:0 精华:0 注册:2013/11/28 23:30:38
  发帖心情 Post By:2015/1/15 10:56:08    Post IP:101.231.104.2[只看该作者]

①改了GLOBALVARIABLE,同时注释掉了图表的函数。
②逐K改为序列
但是依然每个tick都打印出来,并且开仓平仓点位都不对了,你们本地测试下看看,代码在下面

2015-01-15 10:21:59.321    ss=0
2015-01-15 10:21:59.337    h=3510
2015-01-15 10:21:59.337    zjj=3507
2015-01-15 10:22:06.618    ss=1
2015-01-15 10:22:06.633    l=3506
2015-01-15 10:22:06.633    l_1=3506
2015-01-15 10:22:08.024    ss=0
2015-01-15 10:22:08.040    h=3510
2015-01-15 10:22:08.040    zjj=3507
2015-01-15 10:22:09.602    ss=1
2015-01-15 10:22:09.602    l=3506
2015-01-15 10:22:09.618    l_1=3506
2015-01-15 10:22:11.087    ss=0
2015-01-15 10:22:11.102    h=3510
2015-01-15 10:22:11.102    zjj=3507
2015-01-15 10:22:11.977    ss=0
2015-01-15 10:22:11.977    h=2508
2015-01-15 10:22:11.977    zjj=2505
2015-01-15 10:22:19.040    ss=0
2015-01-15 10:22:19.055    h=2508
2015-01-15 10:22:19.055    zjj=2505



INPUT: lots(1,1,10,1);

GLOBALVARIABLE: signal := 0;
ss := signal;

h_1 := ref(h,1);
l_1 := ref(l,1);

zjj := (h_1 + l_1) / 2,NODRAW;

if ss = 0 and h >= (h_1 + l_1) / 2 then BEGIN
   DEBUGFILE('C:\TEST1.TXT','ss=%.0f',ss);
   DEBUGFILE('C:\TEST1.TXT','h=%.0f',h);
   DEBUGFILE('C:\TEST1.TXT','zjj=%.0f',zjj);
   signal := 1;
   myprice := (h_1 + l_1) / 2;
end;



if ss > 0 and l <= l_1 then BEGIN
   DEBUGFILE('C:\TEST1.TXT','ss=%.0f',ss);
   DEBUGFILE('C:\TEST1.TXT','l=%.0f',l);
   DEBUGFILE('C:\TEST1.TXT','l_1=%.0f',l_1);
   signal := 0;
   myprice := min(l_1,o);
end;





//后台部分
if ss < 0 and signal >= 0 then begin
    tsellshort(workmode = 1, -ss * lots, MKT);
    //sellshort(workmode = 0, -ss * lots, LIMITR, myprice);
    ss := 0;
end;
if ss > 0 and signal <= 0 then begin
    tsell(workmode = 1, ss * lots, MKT);
    //sell(workmode = 0, ss * lots, LIMITR, myprice);
    ss := 0;
end;

tbuy(workmode = 1 and ss < signal, (signal - ss) * lots, MKT);
//buy(workmode = 0 and ss < signal, (signal - ss) * lots, LIMITR, myprice);
tbuyshort(workmode = 1 and ss > signal, (ss - signal) * lots, MKT);
//buyshort(workmode = 0 and ss > signal, (ss - signal) * lots, LIMITR, myprice);

 回到顶部