以文本方式查看主题

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

--  作者:bhwhui
--  发布时间:2009/12/24 12:42:47
--  请教图表交易的问题

测试代码1:

input:xx(13,1,50,1),zz(14,1,50,1);

x:=xx/10;
z:=zz/10;

lc:=ref(c,1);
TR1:=ema(MAX((HIGH-LOW),max(ABS(REF(CLOSE,1)-HIGH),ABS(REF(CLOSE,1)-LOW))),20);
tr2:ref(tr1,1),linethick0;

     sell(holding>0 and close<=hhv(high,enterbars)-z*tr2,0 and c<lc ,0,thisclose);
sellshort(holding<0 and close>llv(low,enterbars)+z*tr2 and c>lc ,0,thisclose);

     buy(holding=0 and vol>=5000 and close>llv(low,exitbars)+x*tr2 and c>lc ,intpart(asset*0.4/close),thisclose);
buyshort(holding=0 and vol>=5000 and close<=hhv(high,exitbars)-x*tr2 and c<lc ,intpart(asset*0.4/close),thisclose);

资产:ASSET,colorgreen,noaxis;
持仓:Holding,linethick0;

 

图表交易代码2:

input:xx(13),zz(14); 

x:=xx/10;
z:=zz/10;

lc:=ref(c,1);
TR1:=ema(MAX((HIGH-LOW),max(ABS(REF(CLOSE,1)-HIGH),ABS(REF(CLOSE,1)-LOW))),20);
tr2:ref(tr1,1),linethick0;

lc:=ref(c,1);

Exitlong:close<hhv(high,enterbars)-z*tr2 and c<lc,Tfilter ;
Exitshort:close>llv(low,enterbars)+z*tr2 and c>lc ,Tfilter;

Enterlong:close>llv(low,exitbars)+x*tr2 and c>lc ,Tfilter;
Entershort:close<hhv(high,exitbars)-x*tr2 and c<lc ,Tfilter;

资产:Tasset,noaxis;
持仓:Tholding,noaxis;

 

 

请教

1:这样的改写是否正确?不正确的话,错在哪里?

2:图表交易空仓是如何显示的?

3:Enter语句不可以模拟测试,在飞狐里是可以的吧?

4:图表交易代码中Tasset 可以读到数据,而Tholding 不可以,bug?

谢谢。

[此贴子已经被作者于2009-12-24 12:44:43编辑过]

--  作者:admin
--  发布时间:2009/12/24 12:47:25
--  

问题1, enterbars 是用在交易系统的评测上的,无法适用于Enterlong的传统的交易系统信号

2,空仓使用负数表示, Tholding,Tasset 等返回常数的函数是可以用在图表交易的,但是要注意他们只会返回一个常数,不是序列变量

3,可以模拟测试,但是前提是公式里不能用Tholding这种函数参与了买卖决策运算,否则用历史数据测试是没有什么意义的.


--  作者:bhwhui
--  发布时间:2009/12/24 15:15:33
--  

谢谢。

再请教:

1:虽然上面写法有问题,但是并没有写STP,LMT,MKT等下单类型,测试时显示“报单被拒绝不被支持的报单类型”,何解?

2:如果很多新函数不被Enterlong等支持,麻烦了,因为不知道什么函数不被支持,就像if内不能使用很多序列函数一样。如果这样,针对上面的代码如何表示Enterbars,exitbars? AVGENTERPRICE是否为空?Taccount(4)是否为零?或者管理员弄个列表?

 

谢谢。

[此贴子已经被作者于2009-12-24 15:17:28编辑过]

--  作者:admin
--  发布时间:2009/12/24 15:20:57
--  

给你个说法:

所有的不带T的程式化交易函数,都不能用在ENTERLONG的传统自动交易上.

只有少数的带T的函数允许使用在Enterlong交易策略中. TAVGENTERPRICE,Taccount,Tholding,Tasset,但是金字塔强烈不建议使用,因为这样会造成图表上的交易信号与实际的下单记录不符,事后埋怨金字塔相互扯皮


--  作者:bhwhui
--  发布时间:2009/12/24 15:28:36
--  

谢谢。

1:再看了看函数的分类,包括程序化交易,账户函数,交易函数,等等,在Enterlong 里都不能用?

2:3楼下单类型的问题呢?

 

谢谢。


--  作者:bhwhui
--  发布时间:2009/12/24 15:33:47
--  
问第一个问题原因在于Enterbars 属于“交易系统函数”类,而不是“程序化交易函数”类。
--  作者:admin
--  发布时间:2009/12/24 15:36:13
--  

都不能用

下单类型,你是否在非上海市场使用了市价委托,那样的话,你看置顶帖子的常见问题说明


--  作者:bhwhui
--  发布时间:2009/12/24 15:43:03
--  

哇,enter语句难用啊,很多新增函数都不能用啊。

 

“下单类型,你是否在非上海市场使用了市价委托,那样的话,你看置顶帖子的常见问题说明”

1:没找到链接。

 

2:图表交易代码在上面,完全没有涉及下单类型,不是由软件自动封装,操作的么?怎么会出现“报单被拒绝不被支持的报单类型”问题?

 

谢谢

[此贴子已经被作者于2009-12-24 15:49:28编辑过]

--  作者:admin
--  发布时间:2009/12/24 15:51:00
--  

常见问题说明里的模拟交易有关的说明部分

图表交易,下单类型只有限价和市价单两种情况


--  作者:bhwhui
--  发布时间:2009/12/24 16:05:42
--  

谢谢,知道问题在哪了。说明:

 

“·有关使用综合平台做模拟交易测试的说明

模拟交易时,综合交易平台将所有的品种都规类到了上海期货交易所,所以所有报单的类型都按照上海交易所走.包括开盘和收盘时间。上海期货交易所是没有市价和止损指令的,如果你用其他两个交易所的品种做下单测试时,如果使用这两个指令将导致下单被拒绝。模拟交易测试,请大家都尽量在上海期货交易所的品种内进行。