以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  平仓信号出来后隔2根K线再启动开仓条件怎么写?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=9664)

--  作者:弦外之音
--  发布时间:2012/1/16 0:36:41
--  平仓信号出来后隔2根K线再启动开仓条件怎么写?

buycondition:=c>ma(c,20);

sellcondition:=c<ma(c,20);

buycond:=cross(ma(c,5),ma(c,10));

sellcond:=cross(ma(c,10),ma(c,5));

if holding>0 and c<enterprice-20 then sell(1,1,limitr,c);

if holding<0 and c>enterprice+20 then sellshort(1,1,limitr,c);

if holding>0 and sellcondition then sell(1,1,limitr,c);

if holding<0 and buycondition then sellshort(1,1,limitr,c);

if holding>0 and sellcond then sell(1,1,limitr,c);

if holding<0 and buycond then sellshort(1,1,limitr,c);

if holding=0 and buycond then buy(1,1,limitr,c);

if holding=0 and sellcond then buyshort(1,1,limitr,c);

 

问题:

多单平仓后(多种平仓策略)如果满足做空条件,不马上做空,而是等过2根K线之后,满足做空条件则做空

空单平仓后(多种平仓策略)如果满足做多条件,不马上做多,而是等过2跟K先之后,满足做多条件则做多

以上思路如何实现?

 

[此贴子已经被作者于2012-1-16 0:37:33编辑过]

--  作者:26327756l
--  发布时间:2012/1/16 8:45:45
--  

参考

得到当前位置之前上N次信号指定类型距当前周期
用法:
TYPEBAR(N,TYPE)N表示上次信号,
TYPE表示信号类型 0、无信号1、开多2、平多3、开空;4、平空
例如:TYPEBAR(2,1)表示:倒数第2个开多信号历时
该函数仅在逐K线计算模式下有效, 并且只能用在BUY,SELL等新图表交易系统中,不能与旧图表交易系统ENTERLONG,EXITLONG等混用。
所属函数组:交易系统

[此贴子已经被作者于2012-1-16 8:46:54编辑过]

--  作者:弦外之音
--  发布时间:2012/1/16 20:33:59
--  

单独在开多语句中加入 typebar(1,4)>2  或者在开空语句中加入typebar(1,2)>2 信号都能正常显示。可是在开多和开空语句中同时加入条件后,信号都消失了,这是为什么?


--  作者:fly
--  发布时间:2012/1/17 13:14:43
--  
估计是您使用有误,直接把代码贴出来看看--附带简要文字说明
--  作者:弦外之音
--  发布时间:2012/1/18 10:31:55
--  

buycondition:=c>ma(c,20);

sellcondition:=c<ma(c,20);

buycond:=cross(ma(c,5),ma(c,10));

sellcond:=cross(ma(c,10),ma(c,5));

if holding>0 and c<enterprice-20 then sell(1,1,limitr,c);

if holding<0 and c>enterprice+20 then sellshort(1,1,limitr,c);

if holding>0 and sellcondition then sell(1,1,limitr,c);

if holding<0 and buycondition then sellshort(1,1,limitr,c);

if holding>0 and sellcond then sell(1,1,limitr,c);

if holding<0 and buycond then sellshort(1,1,limitr,c);

if holding=0 and buycond and typebar(1,4)>2 then buy(1,1,limitr,c);

if holding=0 and sellcond and typebar(1,2)>2 then buyshort(1,1,limitr,c);


--  作者:just
--  发布时间:2012/1/18 14:04:25
--  
因为你的开仓条件一直不成立。