以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  急急,有关K线走完提前下单的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=71629)

--  作者:dcetrader
--  发布时间:2014/11/3 14:05:47
--  急急,有关K线走完提前下单的问题
老师好,我之前用的是K线走完模式,看完火哥老师的帖后,企图实现K线走完提前3秒下单的目的,于是我在开平指令语句前后照着加了条,

abb:=(time0-timetot0(dynainfo(207))<=3) or not(islastbar);
if abb then begin
....
end 

其他 语句没变没变。
然后用固定轮询1秒启动交易...
请问,这样简单处理不会出现信号闪嗦吧? 我认为有NOT(ISLASTBAR)控制应该不会。

完整语句如下谢谢老师!!!!!
KD:= CLOSE >TOPLINE  AND  C>MM ;          //开多条件  
PD:= CLOSE<(MAX(MA( C,X),TOPLINE)+BOTTOMLINE)/2    ;          //平多条件  
KK:= CLOSE <BOTTOMLINE AND  C<MM  ;         //开空条件  
PK:=CLOSE>(TOPLINE+MIN(MA( C,X),BOTTOMLINE))/2     ;         //平空条件  
 
abb:=(time0-timetot0(dynainfo(207))<=3) or not(islastbar);
if abb then begin
 
IF PK and holding<0   THEN BEGIN
 SELLSHORT( PK ,SS,MARKET  );                        //平空信号
 
END

 
IF KD and holding<=0    THEN
BEGIN
 
  BUY( KD  AND HOLDING=0,SS,MARKET );         //开多信号
  
END

 
IF PD and holding>0     THEN
BEGIN
SELL( PD ,SS,MARKET  );                       //平多信号
 
END

 
IF KK and holding>=0    THEN
BEGIN
BUYSHORT( KK  AND HOLDING=0,ss,MARKET );      //开空信号
 
END
end

--  作者:jinzhe
--  发布时间:2014/11/3 14:15:27
--  
那个abb只是让你能够提前3秒下单,信号闪烁不闪烁要看你的本身策略有没有闪烁
[此贴子已经被作者于2014/11/3 14:15:39编辑过]

--  作者:dcetrader
--  发布时间:2014/11/3 14:25:16
--  
KD:= CLOSE >TOPLINE  AND  C>MM ;          //开多条件  
PD:= CLOSE<(MAX(MA( C,X),TOPLINE)+BOTTOMLINE)/2    ;          //平多条件  
KK:= CLOSE <BOTTOMLINE AND  C<MM  ;         //开空条件  
PK:=CLOSE>(TOPLINE+MIN(MA( C,X),BOTTOMLINE))/2     ;         //平空条件  

很明显,我这里如果不加APP,用固定轮询是闪烁的。。。
如果改成OPEN>... OPEN< 代替CLOSE>   CLOSE<
这又和提前下单相冲突了!
怎办?

--  作者:jinzhe
--  发布时间:2014/11/3 14:28:54
--  

用open不冲突


--  作者:dcetrader
--  发布时间:2014/11/3 14:31:33
--  
不冲突??现在图上的当前K线还没走完,我就可以确定下一个K线的OPEN一定会大于或小于基准线?
难道这个OPEN是一个提前形成的虚拟K线的虚拟OPEN?不是图表的下一个K线的OPEN?

--  作者:jinzhe
--  发布时间:2014/11/3 14:41:30
--  
你理解错了,abb是在当前k线上执行操作的,所以当前的open是不会变的
--  作者:dcetrader
--  发布时间:2014/11/3 14:48:05
--  
JZ老师,我们理解拧了,我的基准线是一天不变的线。
用K线走完模式,C是确定的,C收在基准线上或下也是确定的,所以可以开仓;
如您所说,用固定轮询模式,我用O来代替C,也能在K线走完,下一个K线O出现的时候立即下单不复核,这和上边用K线走完模式是基本等价的,但是》。。。。。》

我要的是在K线走完提前3秒下单,这个就和下一个K线O无关了,在还剩3秒的时候,只要当前价按照我定的开平条件大于或小于我的基准线,就立即下单而不复核+别闪烁。

[此贴子已经被作者于2014/11/3 14:48:44编辑过]

--  作者:dcetrader
--  发布时间:2014/11/3 15:09:18
--  
这样,换句话说吧,如果现在当前K线最新价已经大于或小于基准线了,但由于还没到K线结束前最后3秒,但有这个ABB的控制,在固定轮询下还是不能下单吧?
abb:=(time0-timetot0(dynainfo(207))<=3) or not(islastbar);


(time0-timetot0(dynainfo(207))<=3) 控制了必须在最后三秒,是吧?


--  作者:jinzhe
--  发布时间:2014/11/3 15:16:43
--  

在固定轮询模式下+上述代码是实现k线走完提前3秒下单

而不是在k线走完模式下,实现提前下单


--  作者:dcetrader
--  发布时间:2014/11/3 15:30:49
--  
“我要的是在K线走完提前3秒下单,这个就和下一个K线O无关了,在还剩3秒的时候,只要当前价按照我定的开平条件大于或小于我的基准线,就立即下单而不复核+别闪烁。”


JZ老师,您误会了,刚才这句我说的就是在固定轮询模式下实现,不是K线走完模式。。。好吧,是K线走完前提前3秒下单。

另外,  (time0-timetot0(dynainfo(207))<=3) 控制了必须在最后三秒,是吧?也就是说,在固定轮询模式下,只要时间还没到K线结束前的3秒,即使我的CLOSE满足了开平条件也出现了开平信号(图表上出现了箭头),也不会下单,是吗?