以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  反手在金字塔里面怎么表示?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=211)

--  作者:qinhuiqing
--  发布时间:2009/11/20 17:33:38
--  反手在金字塔里面怎么表示?
各位老师,请问金字塔是否有 反手 函数,我找了好久,只见有开多、平多、开空、平空的函数,找不到反手的函数。谢谢
--  作者:admin
--  发布时间:2009/11/20 18:55:17
--  
 

input:man(26,2,200);

ma1:=ma(close,man);
ccm:=cross(close,ma1);
cmc:=cross(ma1,close);

资产:ASSET,LINETHICK0;
可用现金:CASH(0),LINETHICK0;
持仓:HOLDING,LINETHICK0;

if ccm then
begin
//平空开多
sellshort(holding<0 and ccm,0);
buy(holding<=0,1);
end

if cmc then
begin
//平多开空
sell(holding>0 and cmc,0);
buyshort(holding>=0,1);
end

 


--  作者:qinhuiqing
--  发布时间:2009/11/20 19:54:38
--  

金字塔的老师这么晚了还给我回复,真是感动。辛苦了,非常感谢。


--  作者:kedeguo
--  发布时间:2009/11/22 21:41:48
--  
用法:HOLDING,得到当前帐户持仓量,多仓返回正数空仓返回负数.这里的空仓意思应该是空头持仓还是没有仓位。万一持仓里面既有多头又有空头显示结果是怎样的。

--  作者:金字塔
--  发布时间:2009/11/22 21:59:56
--  
以下是引用kedeguo在2009-11-22 21:41:48的发言:
用法:HOLDING,得到当前帐户持仓量,多仓返回正数空仓返回负数.这里的空仓意思应该是空头持仓还是没有仓位。万一持仓里面既有多头又有空头显示结果是怎样的。

逻辑上先平仓再开仓,不锁仓


--  作者:kedeguo
--  发布时间:2009/11/22 22:08:30
--  

我的意思是多品种交易的时候很可能持仓是有多有空的,或者是多周期交易的时候也会出现这样的情况。MA1:=MA(C,5);
MA2:=MA(C,10);
MA1>MA2&&C>MA1,BPK;//买平开
CROSS(MA2,MA1),SP;//卖平
MA1<MA2&&C<MA1,SPK;//卖平开
CROSS(MA1,MA2),BP;//买平

这个是我在文华里面的,很简单的表述就实现了这个功能。金字塔里面我应该怎么处理


--  作者:金字塔
--  发布时间:2009/11/22 22:33:10
--  

对于这种情况,就不使用HOLDING了

 

可以这样

资产:=ASSET,LINETHICK0;
每手单位:=VOLUNIT;
N1:=INTPART(10%*资产/(C*每手单位));

//平空
SELLSHORT(BP,N1);

 

//开多
BUY(BK,N1);

 

//平多
SELL(SP,N1);

 

//开空
BUYSHORT(SK,N1);

 

//平空开多
SELLSHORT(BP,N1);
BUY(BK,N1);

 

//平多开空
SELL(SP,N1);
BUYSHORT(SK,N1);


--  作者:qinhuiqing
--  发布时间:2009/11/25 10:41:25
--  
以下是引用admin在2009-11-20 18:55:17的发言:
 

input:man(26,2,200);

ma1:=ma(close,man);
ccm:=cross(close,ma1);
cmc:=cross(ma1,close);

资产:ASSET,LINETHICK0;
可用现金:CASH(0),LINETHICK0;
持仓:HOLDING,LINETHICK0;

if ccm then
begin
//平空开多
sellshort(holding<0 and ccm,0);
buy(holding<=0,1);
end

if cmc then
begin
//平多开空
sell(holding>0 and cmc,0);
buyshort(holding>=0,1);
end

 

请问老师,这样的话我该如何表示对不同品种开不同手数的到不同账户。谢谢