以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  如果在账户中检查有没有别的品种持仓用什么函数  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=66506)

--  作者:qq代人发帖
--  发布时间:2014/6/23 16:52:48
--  如果在账户中检查有没有别的品种持仓用什么函数
请教:如果在账户中检查有没有别的品种持仓用什么函数,比如我加载JM,但我要在RU的程序中检查JM有没有持仓。

--  作者:jinzhe
--  发布时间:2014/6/23 17:17:02
--  
参考tbuyholdingex函数
--  作者:ZHUZHU
--  发布时间:2014/6/23 18:43:37
--  
老师们好,我是想要对不同品种进行选择交易,比如我做多,则在6个品种中选择多头趋势强的两个品种下单,因为当第一次开仓后,随着趋势变化,另外品种进入前二,则也会开仓,这样整个交易做完,可能要交易的品种会大于两个,因为我不想增加品种,所以想用持仓函数限制再开仓,不知如可实现
--  作者:ZHUZHU
--  发布时间:2014/6/24 8:23:09
--  
为什么图片传不上来呀
--  作者:ZHUZHU
--  发布时间:2014/6/24 8:32:12
--  
X1:=STKINDI(\'RU13\',\'MACD.MACD1\',0,4,-1),LINETHICK0;
X2:=STKINDI(\'JM13\',\'MACD.MACD1\',0,4,-1),LINETHICK0;
X3:=STKINDI(\'I13\',\'MACD.MACD1\',0,4,-1),LINETHICK0;
X4:=STKINDI(\'JD13\',\'MACD.MACD1\',0,4,-1),LINETHICK0;
X5:=STKINDI(\'BB13\',\'MACD.MACD1\',0,4,-1),LINETHICK0;
X6:=STKINDI(\'J13\',\'MACD.MACD1\',0,4,-1),LINETHICK0;
act:=STKINDI(\'\',\'MACD.MACD1\',0,4,-1),LINETHICK0;
//
s30:X1+X2+X3+X4+X5+X6,LINETHICK0;
MA30:MA(s30,30),LINETHICK0;
A1:=Max(X1,Max(X2,Max(X3,Max(X4,Max(X5,x6))))),LINETHICK0;
B1:=Min(X1,Min(X2,Min(X3,Min(X4,Min(X5,x6))))),LINETHICK0;

KD:=abs(s30)>abs(MA30) and s30>0 AND ma30>0 and IF(act=A1,1,0); //开多条件
PD:=abs(s30)<abs(MA30);//平多条件
KK:=abs(s30)>abs(MA30) and s30<0 AND ma30<0and  IF(act=B1,1,0); //开空条件
PK:=abs(s30)<abs(MA30);//平空条件


开多:BUY(KD AND HOLDING=0  ,1,THISCLOSE);//开多信号
开空:BUYSHORT(KK AND HOLDING=0 ,1,THISCLOSE);//开空信号
平多:SELL(PD ,abs(HOLDING),THISCLOSE);//平多信号
平空:SELLSHORT(PK,abs(HOLDING),THISCLOSE) ;//平空信号


--  作者:ZHUZHU
--  发布时间:2014/6/24 8:38:13
--  
我还是传代码过来,我们讨论一下,我想要请你们解决的问题是:要整个交易过程中只交易一个品种,而实际不止一个,怎么办,这个问题想了好久没解决。
--  作者:FexTel
--  发布时间:2014/6/24 9:16:02
--  

1,您这个是图表交易系统,主图显示的那个品种才会交易那个品种

2,交易过程中不要随意切换当前品种,另外看下你的实际交易账户是多少?不是登的公用的模拟账户把?


--  作者:ZHUZHU
--  发布时间:2014/6/24 9:38:07
--  
1、不是公共账号,我是用图表交易的,开六个框,对六个程序中要交易的品种,每个框加载这条程序;
2、我所说的问题是程序只的问题,这个我已经做了很长时间模拟确定了的。
通过以下语句
A1:=Max(X1,Max(X2,Max(X3,Max(X4,Max(X5,x6))))),LINETHICK0;
B1:=Min(X1,Min(X2,Min(X3,Min(X4,Min(X5,x6))))),LINETHICK0;
选择六个品种\'RU13\',\'JM13\',\'I13\',\'JD13\',\'BB13\',‘J13\'中选MACD1指标数值最大或最小的品种下单;
但PK/PD条件满足前,其它有的品种也满足了条件,又会新增加品种。如开始RU排第一程序开了仓,但是现在RU排第二了,JD排第一了,程序就会再开JD的仓,直到平仓条件满足,两个品种才同时平仓。实际上我中只开RU的仓,JD不再交易。试了全局变量,REF(act,OPENBAR)等处理方法,好像都不行。





--  作者:FexTel
--  发布时间:2014/6/24 9:44:02
--  
1,你的意思是不是当六个品种中的某个品种值排名第一,开仓后等该品种平仓才会去对其它品种开仓?还是一直只开RU的仓位
--  作者:ZHUZHU
--  发布时间:2014/6/24 9:54:22
--  
简单地说:开仓只对第一次满足条件的品种有效,后面品种再满足条件,PASS。如账户持仓为零时RU排第一,满足了开仓条件,开仓RU,如果JD排第一了,但有了RU的持仓,不开仓,只持有RU到平仓条件满足。