以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]这么写对不?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=7570)

--  作者:xian_0_9
--  发布时间:2011/8/17 11:24:39
--  [求助]这么写对不?

input:m(1,0,100,1),mb(40,1,100,1);

收盘时间:=time=closetime(0);
nn:=barslast(date<>ref(date,1))+1;

交易时段:=nn>=m and nn<=mb;

Oh:=VALUEWHEN(DATE<>REF(DATE,1),h);       
Ol:=VALUEWHEN(DATE<>REF(DATE,1),l);       

if 收盘时间  then
 begin
 sell(holding > 0, 0, limitr,o);
 sellshort(holding < 0, 0, limitr,o);
 end

 

aa:=enterprice+3*mindiff;
bb:=enterprice-3*mindiff;

if holding=1 and h>enterprice+3*mindiff then sell(1,1,limitr,aa);

if holding=-1 and l<enterprice-3*mindiff then sellshort(1,1,limitr,bb);
buycond:= h>oh and 交易时段 and holding=0  ;

buyshortcond:= l<ol and 交易时段 and holding=0 ;

if buycond then

buy(1,1,limitr,oh+2*mindiff);

if buyshortcond   then

buyshort(1,1,limitr,ol-2*mindiff);

资产:round(ASSET),NOAXIS;

3分钟周期上用

我想问的是,这个模型开仓以后图表上只有在下一个K线上才能出平仓信号。

如何让信号在开仓那个K线出现平仓条件(如果出现的话),就在开仓的K线上出现平仓信号呢?

谢谢高手~~~


--  作者:fly
--  发布时间:2011/8/17 11:41:06
--  

该公式,只要满足开平仓条件,就会开平仓,

也就是说,已经实现.让信号在开仓那个K线出现平仓条件(如果出现的话),就在开仓的K线上出现平仓信号


--  作者:jinzhe
--  发布时间:2011/8/17 11:43:04
--  
当一根K线同时满足开平仓条件,那么自然会开平仓了
--  作者:xian_0_9
--  发布时间:2011/8/17 13:22:52
--  

问题是实盘的话会正确下单。

但是图表上显示的不这样啊。就得等下一个K线才会平。

[此贴子已经被作者于2011-8-17 13:23:28编辑过]

--  作者:董小球
--  发布时间:2011/8/17 14:18:47
--  
走完一根K线,当然最快也只能是到下一根K线的开盘位置下单了,时间不会倒回来的!
--  作者:董小球
--  发布时间:2011/8/17 14:20:17
--  
如果在测试的时候你非要实现当根K线成交,那就用OPEN 开盘价来下单!还要选择时间轮询模式!
--  作者:xian_0_9
--  发布时间:2011/8/17 20:19:47
--  
谢谢