以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=5134)

--  作者:我是传奇
--  发布时间:2011/2/11 12:05:50
--  图表改后台

以下的测试模型在后台能正常开仓,但无法平仓,是什么原因?

 

 

//平多仓
sell(ENTERBARS>0 && l<hm && holding>0,holding,LIMITR,c-MINDIFF*滑点);//按指令价平仓
sell(TIME>145500&&holding>0,holding,LIMITR,c-MINDIFF*滑点);//收盘前平多仓

tsell(tENTERBARS>0 && l<hm && holding>0,holding,LMT,c-MINDIFF*滑点,0,\'21107701\');//按指令价平仓
tsell(currenttime>145500&&holding>0,holding,LMT,c-MINDIFF*滑点,0,\'21107701\');//收盘前平多仓

//平空仓
sellshort(ENTERBARS>0&&h>lm && holding<0,holding,LIMITR,c+MINDIFF*滑点);//按指令价平仓
sellshort(TIME>145500&&holding<0,holding,LIMITR,c+MINDIFF*滑点);//收盘前平空仓

tsellshort(tENTERBARS>0&&h>lm && holding<0,holding,LMT,c+MINDIFF*滑点,0,\'21107701\');//按指令价平仓
tsellshort(currenttime>145500&&holding<0,holding,LMT,c+MINDIFF*滑点,0,\'21107701\');//收盘前平空仓

//建立多头条件
long:=H>HH&&TIME<144000&&time>090500&&holding<3;//做多条件
buy(EXITBARS<>0&&long,手数,LIMITR,c+MINDIFF*滑点);//指令价开多仓

long1:=H>HH&&currenttime<144000&&currenttime>090500&&holding<3;//做多条件
tbuy(tEXITBARS<>0&&long1,手数,LMT,c+MINDIFF*滑点,0,\'21107701\');//指令价开多仓

//建立空头条件
short:=L<LL&&TIME<144000&&time>090500&&holding>-3;//做空条件
BUYSHORT(EXITBARS<>0&&short,手数,LIMITR,c-MINDIFF*滑点);//指令价开空仓

short1:=L<LL&&currenttime<144000&&currenttime>090500&&holding>-3;//做空条件
tBUYSHORT(tEXITBARS<>0&&short1,手数,LMT,c-MINDIFF*滑点,0,\'21107701\');//指令价开空仓

 

 


--  作者:z7c9
--  发布时间:2011/2/11 12:09:26
--  
holding改成tholding
--  作者:我是传奇
--  发布时间:2011/2/11 12:43:46
--  
以下是引用z7c9在2011-2-11 12:09:26的发言:
holding改成tholding

我想用holding做虚拟仓,如果用 tholding 就无法做单品种多策略组合了


--  作者:admin
--  发布时间:2011/2/11 12:50:30
--  

tsell(tENTERBARS>0

这个有问题,去掉T

 

tEXITBARS<>

等等这些条件,都改成图表的函数,不要加T

[此贴子已经被作者于2011-2-11 12:51:18编辑过]

--  作者:我是传奇
--  发布时间:2011/2/11 13:04:11
--  
谢谢,我再测试一下
--  作者:我是传奇
--  发布时间:2011/2/14 9:31:25
--  

模型还是平不了仓,麻烦老师看一下

//平多仓
sell(ENTERBARS>0 && l<hm && holding>0,holding,LIMITR,c-MINDIFF*滑点);//按指令价平仓
//sell(ENTERBARS>0&& o<hm&&holding>0,holding,LIMITR,o-滑点);//按指令价平仓
sell(TIME>145500&&holding>0,holding,LIMITR,c-MINDIFF*滑点);//收盘前平多仓

tsell(ENTERBARS>0 && l<hm && holding>0,holding,LMT,c-MINDIFF*滑点,0,\'21107701\');//按指令价平仓
tsell(currenttime>145500 && holding>0,holding,LMT,c-MINDIFF*滑点,0,\'21107701\');//收盘前平多仓

//平空仓
sellshort(ENTERBARS>0&&h>lm && holding<0,holding,LIMITR,c+MINDIFF*滑点);//按指令价平仓
//sellshort(ENTERBARS>0&&o>lm && holding<0,holding,LIMITR,o+滑点);//按指令价平仓
sellshort(TIME>145500&&holding<0,holding,LIMITR,c+MINDIFF*滑点);//收盘前平空仓

tsellshort(ENTERBARS>0&&h>lm && holding<0,holding,LMT,c+MINDIFF*滑点,0,\'21107701\');//按指令价平仓
tsellshort(currenttime>145500&&holding<0,holding,LMT,c+MINDIFF*滑点,0,\'21107701\');//收盘前平空仓

//建立多头条件
long:=H>HH&&TIME<144000&&time>090500&&holding<3;//做多条件
buy(EXITBARS<>0&&long,手数,LIMITR,c+MINDIFF*滑点);//指令价开多仓

long1:=H>HH&&currenttime<144000&&currenttime>090500&&holding<3;//做多条件
tbuy(EXITBARS<>0&&long1,手数,LMT,c+MINDIFF*滑点,0,\'21107701\');//指令价开多仓

//longo:=o>HH&&TIME<144000&&time>090500&&holding<3;//做多条件
//buy(EXITBARS<>0&&longo,手数,LIMITR,o+滑点);//指令价开多仓

//建立空头条件
short:=L<LL&&TIME<144000&&time>090500&&holding>-3;//做空条件
BUYSHORT(EXITBARS<>0&&short,手数,LIMITR,c-MINDIFF*滑点);//指令价开空仓

short1:=L<LL&&currenttime<144000&&currenttime>090500&&holding>-3;//做空条件
tBUYSHORT(EXITBARS<>0&&short1,手数,LMT,c-MINDIFF*滑点,0,\'21107701\');//指令价开空仓


--  作者:admin
--  发布时间:2011/2/14 9:35:03
--  
sell(TIME>145500&&holding>0,holding,LIMITR,c-MINDIFF*滑点);//收盘前平多仓

tsell(ENTERBARS>0 && l<hm && holding>0,holding,LMT,c-MINDIFF*滑点,0,\'21107701\');//按指令价平仓

 

使用了第一个平仓后,holding已经是0了,故tsell不会达到平仓条件。

你可以使用

myholding:=holding;

sell(TIME>145500&&myholding>0,myholding,LIMITR,c-MINDIFF*滑点);//收盘前平多仓

tsell(ENTERBARS>0 && l<hm && myholding>0,myholding,LMT,c-MINDIFF*滑点,0,\'21107701\');//按指令价平仓

这样改完后看看。


--  作者:我是传奇
--  发布时间:2011/2/14 9:46:58
--  
谢谢老师,但我看起来好像

myholdingholding一样的啊?为什么要加个中间变量?


--  作者:admin
--  发布时间:2011/2/14 9:54:21
--  

holding是函数,返回的是你持仓量

myholding是变量,记录你前面的持仓量,在出现平仓之后holding会马上是0,而myholding不会


--  作者:我是传奇
--  发布时间:2011/2/14 10:10:12
--  
明白了,谢谢老师