以文本方式查看主题

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

--  作者:lnjsqh
--  发布时间:2014/2/11 10:48:59
--  [求助]

简单模型

INPUT:M(10,1,100,5);
INPUT:N(30,1,100,5);
INPUT:P(60,1,100,5);
A:=MA(C,M);
B:=MA(C,N);
D:=MA(C,P);

//交易条件

A上穿B,平空一手,同时开多一手,
A上穿D,平空一手,同时开多一手
B上穿D,平空一手,同时开多一手
A下穿B,平多一手,同时开空一手
A下穿D,平多一手,同时开空一手
B下穿D,平多一手,同时开空一手

 

自己写了使用旧图表能实现,但是持仓无法控制,求编写


--  作者:jinzhe
--  发布时间:2014/2/11 10:51:28
--  

if cross(a,b) then begin

    sellshort(1,1,market);

    buy(holding=0,1,market);

end

 

.....其他的诸如此类的,用新图表交易编写,旧图表实现不了复杂的功能

 

下穿用比如a下穿b用 cross(b,a)来表示


--  作者:lnjsqh
--  发布时间:2014/2/12 8:56:25
--  

其他的如此编写,但是持仓只有一手,按照我的思路,全部向上交叉(向下交叉后)时是有三个持仓的,请问如何处理


--  作者:jinzhe
--  发布时间:2014/2/12 9:15:27
--  

buy(holding=0,1,market);

改成

buy(1,1,market);

 

取消持仓判断,多条件满足各自下单不受持仓限制


--  作者:lnjsqh
--  发布时间:2014/2/12 14:20:57
--  

已经弄好了,多谢版主


--  作者:lnjsqh
--  发布时间:2014/2/12 14:41:18
--  
刚才看了下,有信号了,单开仓和平仓,但是我想表达的是盘中反手,平多开空或者平空开多,三个信号中只有一个是反手,其余都是开或者平
--  作者:jinzhe
--  发布时间:2014/2/12 14:49:45
--  

if cross(a,b) then begin

    sellshort(1,1,market);

    buy(holding=0,1,market);

end

 

 

类似这样写要成对出现,不能单独写,

把你自己写的发一下


--  作者:lnjsqh
--  发布时间:2014/2/12 14:52:05
--  

INPUT:M(10,1,100,5);
INPUT:N(30,1,100,5);
INPUT:P(60,1,100,5);
A:MA(c,M);
B:MA(c,N);
D:MA(c,P);
if cross(a,b) then begin
    sellshort(1,1,market);
    buy(1,1,market);
end
if cross(a,d) then begin
    sellshort(1,1,marketo);
    buy(1,1,market);
end
if cross(b,d) then begin
    sellshort(1,1,market);
    buy(1,1,market);
end
if cross(d,a) then begin
    sell(1,1,market);
    BUYSHORT(1,1,market);
end
if cross(d,b) then begin
    sell(1,1,market);
    BUYSHORT(1,1,market);
end
if cross(b,a) then begin
    sell(1,1,market);
    BUYSHORT(1,1,market);
end

我就简单按照你说的那么罗列起来,复杂搞不懂,求版主指导


--  作者:jinzhe
--  发布时间:2014/2/12 14:57:26
--  

我又看了看,你既要反手又要多开,这个不能行,这个和你先前需求矛盾

如果你要多开用buy(1,1,market);

如果你要反手用buy(holding=0,1,market);


--  作者:lnjsqh
--  发布时间:2014/2/12 15:01:51
--  

INPUT:M(10,1,100,5);
INPUT:N(30,1,100,5);
INPUT:P(60,1,100,5);
A:=MA(C,M);
B:=MA(C,N);
D:=MA(C,P);

//交易条件

A上穿B,平空开多一手,
A上穿D,平空开多一手
B上穿D,平空开多一手
A下穿B,平多开空一手
A下穿D,平多开空一手
B下穿D,平多开空一手

这样如何表达呢?