以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 部分策略开仓OK,平仓信号没触发 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=159505) |
-- 作者:qq代人发帖 -- 发布时间:2017/11/14 10:03:56 -- 部分策略开仓OK,平仓信号没触发 我在模拟盘上跑图表交易策略,部分策略开仓OK,平仓信号没触发,这个回事什么原因? 我用调试功能模拟的时候,是能正常进入平仓信号代码的 |
-- 作者:FireScript -- 发布时间:2017/11/14 10:07:51 -- 平仓信号没触发必须要查看当时和平仓信号有关的变量值的情况。你说调试的时候平仓代码能执行,但是平仓代码里面还有交易条件的那个参数呢,执行了不代表就出信号了。这个要具体看你代码怎么写的。可以的话,代码帖出来,看看是不是代码逻辑限定住了。 |
-- 作者:a100016259 -- 发布时间:2017/11/14 10:17:08 -- IF buying = 5 THEN BEGIN
//止损
LOSS := IFELSE((CLOSE-buy_price)>max_loss,1,0);
IF LOSS=1 THEN
BEGIN
DRAWTEXT(1,CLOSE,\'止损\'),colorred;
SELLSHORT(1,1,MARKET);
buying :=0;
END; END;
我的代码段是上面这样,我用调试功能断点在 SELLSHORT那里,测试是OK的。 调试日志里,那个时间段也没任何特别的信息。 另外,我是采用“固定间隔”模式,每10秒检测一次,谢谢。 |
-- 作者:gxx978 -- 发布时间:2017/11/14 10:33:57 -- 你用调试功能的时候,只能用你选择的周期的K线的开高低收4个值来进行计算调试的,跟实际运行中还是有差别的。在实际运行中,每来一个分笔数据都会进行计算 ,然后依据你选择的10秒检测一次信号,检测到信号就会执行。你可以直接在图表上输出你的buying和LOSS的值看下,只有在都满足的情况下且不闪烁并抓取到了才会执行。另外也要输出holding看下,只有holding<0的时候才会执行平仓信号。 |
-- 作者:a100016259 -- 发布时间:2017/11/14 11:38:43 -- 止盈也是固定值的,所以行情发展必然有一个会被触发的,即使因为闪烁导致时间点有偏差,也必然要有一次执行才对。 我再观察下,比较尴尬... |
-- 作者:FireScript -- 发布时间:2017/11/14 14:22:24 -- 以下是引用a100016259在2017/11/14 11:38:43的发言:
止盈也是固定值的,所以行情发展必然有一个会被触发的,即使因为闪烁导致时间点有偏差,也必然要有一次执行才对。 我再观察下,比较尴尬... 可以不用那种调试方式,直接加载在图表并输出和交易条件相关的几个中间变量,这样比较清晰直观点。 |