以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请教图表交易,图表显示开仓,实际未开仓的原因 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=159696) |
-- 作者:daviwang -- 发布时间:2017/11/21 10:00:08 -- 请教图表交易,图表显示开仓,实际未开仓的原因 我是用小时线交易,图表交易,图表显示开仓,实际未开仓。用了k线提前20秒下单 abb:=(time0-timetot0(dynainfo(207))<=tq) or not(islastbar); if abb then begin; 开多 开空 end; 图表信号发出时间为11月20日 23:29:41. 是否因为这个时间点导致交易不成功?还是别的原因。
|
-- 作者:FireScript -- 发布时间:2017/11/21 10:12:01 -- 1.是否有交易日志,我们需要检查下交易日志里面的详细记录。 2.图表下需要遵循先平后开原则,因为图表下无法锁仓。看你的语句,不知道你是不是试图锁仓。 [此贴子已经被作者于2017/11/21 10:15:15编辑过]
|
-- 作者:daviwang -- 发布时间:2017/11/21 10:29:12 -- 哪里看交易日志?我选择保存了日志的。 我的语句 参数及条件设定 //止损 if holding>0 and kdzs=1 and enterbars>0 THEN sell(1,0,MARKETr); if holding<0 and kkzs=1 and enterbars>0 THEN SELLSHORT(1,0,MARKETr); //开多 if holding=0 and 开多条件=1 THEN begin; buy(1,how,MARKETr); end; //开空 if holding=0 and 开空条件=1 THEN BEGIN; buyshort(1,how,MARKETr); end; //止盈 if holding>0 and 止盈条件=1 then 止盈; |
-- 作者:FireScript -- 发布时间:2017/11/21 10:38:15 -- 看你的代码暂时还不够定位问题。 |
-- 作者:daviwang -- 发布时间:2017/11/21 10:54:04 -- 之前不是在23:30这个时点的单是有正常开仓的。
2017-11-20 23:29:36.396 【图表】I00 运行完毕
|
-- 作者:FireScript -- 发布时间:2017/11/21 11:10:37 -- 从你的标记来看那个的是历史信号么,那个信号并不会下单的。你最新日志里面是没有触发下单的。 |
-- 作者:daviwang -- 发布时间:2017/11/21 11:49:41 -- 我的问题就是,为啥11.20 23:30图表有信号,日志里却不触发。看了当时的开仓条件,都是满足的。 |
-- 作者:FireScript -- 发布时间:2017/11/21 14:30:53 -- 是这样的原因,你那个是一小时运作周期。你看下矿石夜盘最后一个K结束时间,金字塔的划分是这样的,是划分到12点。也就是说你这个倒数多少秒提前下单,变成了12点之前的的N秒下单,因为那个提前下单的代码是按照K线时间倒计时的。所以最终结果就不是23:30这个点的提前N秒了。但是呢当那个K变成历史K的时候,信号还是会放到上面去的。但是在当时实时行情情况下,是没有触发的才对。 |
-- 作者:daviwang -- 发布时间:2017/11/21 15:07:55 -- 请教解决方法。 |
-- 作者:FireScript -- 发布时间:2017/11/21 15:28:41 -- 以下是引用daviwang在2017/11/21 15:07:55的发言:
请教解决方法。 如果还保留那个提前N秒下单的话。
最好再加个条件控制。
s:(t0totime(timetot0(closetime(0))-60*N));//收盘前N分钟 if abb or s then begin buy(...); end |