以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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的发言:
止盈也是固定值的,所以行情发展必然有一个会被触发的,即使因为闪烁导致时间点有偏差,也必然要有一次执行才对。

我再观察下,比较尴尬...

可以不用那种调试方式,直接加载在图表并输出和交易条件相关的几个中间变量,这样比较清晰直观点。