以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- tbuy代码运行了但是没有下单 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=148961) |
-- 作者:xiebooo -- 发布时间:2017/3/11 15:46:24 -- tbuy代码运行了但是没有下单 斑竹好,请看下面的后台程序化代码。我遇到的情况是在“工具--数据管理--全局变量里”看到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); |
-- 作者:wenarm -- 发布时间:2017/3/13 8:37:44 -- 有记录交易日志吗? 使用debugfile输出你的条件看下是否成立。
你代码中tbuy开仓数量是0手。
|
-- 作者:xiebooo -- 发布时间:2017/3/13 9:36:58 -- 为什么会是零手?unit的计算公式得出的结果不是0 如果条件没有成立,extgbdataset是不会赋予全局变量非0的值的。我看到在工具-数据管理-全局变量里,四个全局变量都按照begin-end之内的计算公式发生了赋值,所以认tbuy的语句应该是执行了的,但是没有下单。经常都可以正常下单,但是偶尔又没有下单。
|