以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [原创]请教一天开仓两次的问题,我的程序问题出在哪里?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=56847)

--  作者:亢龙有悔
--  发布时间:2013/9/22 15:24:11
--  [原创]请教一天开仓两次的问题,我的程序问题出在哪里?
请问一下,我些的策略,一天开仓两次。
但是测试下来,怎么一共只能开仓两次。
请帮忙看一下



VARIABLE :NT= 0 ; //开多止损次数
VARIABLE :N=0;          //开空止损次数


VARIABLE : MYENTRYPRICE =0 ; //开仓价格


NN:=BARSLAST(DATE>REF(DATE,1))+1;
2kg:=ref(hhv(h,NN),NN);//×ò??
2kd:=ref(llv(l,NN),NN);//×òμí

 
to:=callstock(STKLABEl,vtopen,6,0);//今日开盘

//开仓条件
kd:=h>2kg;
kk:=l<2kd;
//跳空开仓
kd2:=to>2kg and h> to*1.002;
kd2:=to<2kd and l<to*0.998;
//平仓
pd:=l<2kd;
pk:=h>2kg;



//交易
if kd and nt<2 then BEGIN
MYENTRYPRICE := 2kg ;
BUY( HOLDING=0,POSNUM,LIMITR,MYENTRYPRICE);
end


if kd2 and nt<2 then BEGIN
MYENTRYPRICE := to*1.002;
BUY( HOLDING=0,POSNUM,LIMITR,MYENTRYPRICE);
end

if kk and n<2  then begin
 MYENTRYPRICE := 2kd ;
BUYSHORT( HOLDING=0 ,POSNUM,LIMITR,MYENTRYPRICE);
end 

if kk and n<2   then begin
 MYENTRYPRICE := to*0.998 ;
BUYSHORT( HOLDING=0 ,POSNUM,LIMITR,MYENTRYPRICE);
end 

// 多止损
 if HOLDING>1 and l< MYENTRYPRICE*0.998 then BEGIN
 sell(HOLDING>0,HOLDING,MYENTRYPRICE*0.998);
NT:=NT+1;
 end
 
 //空止损
 if HOLDING<0 and H> MYENTRYPRICE*1.002 then BEGIN
 sellSHORT(HOLDING<0,HOLDING,MYENTRYPRICE*1.002);
 N:=N+1;
 end
 
 //止盈
 IF HOLDING>0 AND L<2KD THEN BEGIN
 sell(HOLDING>0,HOLDING,2KD);
 END
 
 IF HOLDING<0 AND H>2KG THEN BEGIN
 sell(HOLDING<0,HOLDING,2KG);
 END
if time=closetime(0) then N:=0 ;
IF time=closetime(0) then NT:=0 ;
óˉà?:asset-500000,noaxis,colorred,linethick2;
[此贴子已经被作者于2013/9/22 15:25:10编辑过]

--  作者:jinzhe
--  发布时间:2013/9/22 15:26:26
--  
后面平仓语句的下单价位全写错了,都少写了limitr
--  作者:亢龙有悔
--  发布时间:2013/9/22 15:38:22
--  
加上以后可以了
这个limitr这么神奇啊
太谢谢了