以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [求助]stop控制符的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=86578)

--  作者:houzhongxu
--  发布时间:2015/10/24 21:44:22
--  [求助]stop控制符的问题
我的需求是这样的:
一波流畅下跌行情中,是一直满足我持空的,但我不希望行情突然回调到前一根bar的c+3的位置。

我的伪代码片段是这样的


做空:=aaa;
防反弹:=bbb;

if holding<0 then begin
sellshort(防反弹,0,stop,c+3);

end

if holding=0 then begin
buyshort(做空,1,thisclose);

end

实际运行起来后,在反弹的那个位置,止损了,但,前一根bar的收盘价处又开了空了。

我认为:
既然已经走到了新的bar上了,判定完前一根的止损条件不就好了吗?
为什么还去修改历史?

还是这么想不对?
望指点啊!





--  作者:yukizzc
--  发布时间:2015/10/25 11:20:02
--  

图表是逐k的模式,每次都是会刷新历史所有k信号的。

你历史上的bar只要满足开空条件,就会出信号。

 


--  作者:houzhongxu
--  发布时间:2015/10/25 16:25:50
--  
我觉得您可能没有回答我的问题。

代码是从上到下执行的,在执行触发的时候,事实上下一根bar已经出现了。
如果触发并完成平仓的动作,那么再开仓就相当于在修改历史了吧?
修改历史的原因有可能是因为虚拟持仓的检测机制,是必须等待bar走完,才会置位。

我觉得应该这样:

如果stop控制符判定了次周期的平仓条件得到满足后,直接执行次周期上的动作。

也就是说,直接跳出没有循环完的代码。
当前的产品好像不是这样设计的,是有什么难处吗?


--  作者:yukizzc
--  发布时间:2015/10/25 18:23:57
--  

stop用于图表回测时,是本周期满足条件,然后在次周期进行开仓。

这个和历史上信号是否有没有关系的,前面的k上是否有信号只和你那个条件满足有关系。