Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:tbuy代码运行了但是没有下单

1楼
xiebooo 发表于:2017/3/11 15:46:24
斑竹好,请看下面的后台程序化代码。我遇到的情况是在“工具--数据管理--全局变量里”看到extgbdataset('baitangjizhi',jizhi);  extgbdataset('baitangpingcang',pingcang);  extgbdataset('baitangcontrol',control);  extgbdataset('baitangunit',unit);这四个全局变量都根据所编写的公式发生了值的改变(即不为0),所以我认为下单的代码应该是被执行了,但是却没有出现预警条件,也没有出现实盘的下单。这种情况在模拟盘和实盘都出现过,有时候可以正常预警和下单,有时候又不行,以至于我难以分析出到底是哪里出了问题。请问可能是什么原因导致的?这里unit:= 仓量 * tasset / (止损幅度 * atr * MULTIPLIER)得出来的值是一个大于1的非整数,类似3.21这样的一个值,是否对这个值做取整处理对tbuy的运行有影响吗?


jizhi:= 0; 
  pingcang:= 0; 
  unit:= 0; 
  control:= 0;

if close > mafilter and close > ma(close, 10) then BEGIN
unit:= 仓量 * tasset / (止损幅度 * atr * MULTIPLIER);
tbuy(1,unit,mkt);
control:= 1;
jizhi:= close;
pingcang:= close + 止损幅度 * atr;

end;
extgbdataset('baitangjizhi',jizhi);
extgbdataset('baitangpingcang',pingcang);
extgbdataset('baitangcontrol',control);
extgbdataset('baitangunit',unit);

2楼
wenarm 发表于:2017/3/13 8:37:44

有记录交易日志吗?

使用debugfile输出你的条件看下是否成立。

 

你代码中tbuy开仓数量是0手。

 

3楼
xiebooo 发表于:2017/3/13 9:36:58
为什么会是零手?unit的计算公式得出的结果不是0

如果条件没有成立,extgbdataset是不会赋予全局变量非0的值的。我看到在工具-数据管理-全局变量里,四个全局变量都按照begin-end之内的计算公式发生了赋值,所以认tbuy的语句应该是执行了的,但是没有下单。经常都可以正常下单,但是偶尔又没有下单。
共3 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.06250 s, 2 queries.