以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  金字塔程序语句注释,求助!!  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=56430)

--  作者:phone
--  发布时间:2013/9/10 9:06:30
--  金字塔程序语句注释,求助!!
我是你们的用户,我有一部分语句,麻烦在每句后解释,谢谢

T2:=(TIME > 150500);
IF T2 THEN
BEGIN
M1:=MONTH;
HY1:="IF";
IF (M1 < 10) THEN
BEGIN
HY1:=\'IF00\'+NUMTOSTR(M1,0);
END
IF ((M1 > 9) AND (M1 < 13)) THEN
BEGIN
HY1:=\'IF\'+NUMTOSTR(M1,0);
END
M2:=(M1 + 1);
HY2:="IF";
IF (M2 < 10) THEN
BEGIN
HY2:=\'IF00\'+NUMTOSTR(M2,0);
END
IF ((M2 > 9) AND (M2 < 13)) THEN
BEGIN
HY2:=\'IF\'+NUMTOSTR(M2,0);
END
IF (M2 = 13) THEN
BEGIN
HY2:=\'IF01\';
END
VHY0:=CALLSTOCK(\'IF00\',vtVOL,6,0);
VHY1:=CALLSTOCK(HY1,vtVOL,6,0);
VHY2:=CALLSTOCK(HY2,vtVOL,6,0);
IF (VHY2 > (VHY0 + 600)) THEN
BEGIN

换月平空仓:SELLSHORT((HOLDING < 0),N1,market),ignorecheckprice,ignorecheckprice;

换月平多仓:SELL((HOLDING > 0),N1,market),ignorecheckprice,ignorecheckprice;

END

--  作者:jinzhe
--  发布时间:2013/9/10 9:24:08
--  

T2:=(TIME > 150500);//t2 判断时间是否大于150500

IF T2 THEN//T2条件满足时

BEGIN
 M1:=MONTH;//m1赋值为当前月份
 
 HY1:="IF";//hy1赋值为字符if,这里出现的明显的编写错误,要写成单引号,既\'IF\'
 IF (M1 < 10) THEN
 BEGIN
  HY1:=\'IF00\'+NUMTOSTR(M1,0);//当m1小于10时,把字符型数据IF00和字符型数据M1相加的值赋值给HY1,这里同样也有一个明显的编写错误,字符相加是用函数strcat
 END
 IF ((M1 > 9) AND (M1 < 13)) THEN
 BEGIN
  HY1:=\'IF\'+NUMTOSTR(M1,0);//当m1大于9小于13时,把字符型数据IF和字符型数据M1相加的值赋值给HY1,这里同样也有一个明显的编写错误,字符相加是用函数strcat
 END
end
M2:=(M1 + 1);//把m1+1的值赋值给m2
HY2:="IF";//hy2赋值为字符if,这里出现的明显的编写错误,要写成单引号,既\'IF\'
IF (M2 < 10) THEN
 BEGIN
  HY2:=\'IF00\'+NUMTOSTR(M2,0);//当m2小于10时,把字符型数据IF00和字符型数据M1相加的值赋值给HY2,这里同样也有一个明显的编写错误,字符相加是用函数strcat
 END
IF ((M2 > 9) AND (M2 < 13)) THEN
 BEGIN
  HY2:=\'IF\'+NUMTOSTR(M2,0);//当M2大于9小于13时,把字符型数据IF和字符型数据M1相加的值赋值给HY2,这里同样也有一个明显的编写错误,字符相加是用函数strcat
 END
IF (M2 = 13) THEN
 BEGIN
  HY2:=\'IF01\';//当m2=13时,把字符型数据IF01赋值给HY2
 END
VHY0:=CALLSTOCK(\'IF00\',vtVOL,6,0);//引用IF00日线成交量,赋值给VHY0
VHY1:=CALLSTOCK(HY1,vtVOL,6,0);//引用HY1日线成交量,赋值给VHY1
VHY2:=CALLSTOCK(HY2,vtVOL,6,0);//引用HY2日线成交量,赋值给VHY2
IF (VHY2 > (VHY0 + 600)) THEN//当VHY2大于(VHY0+600)时
BEGIN

换月平空仓:SELLSHORT((HOLDING < 0),N1,market),ignorecheckprice,ignorecheckprice;//平空,忽略掉下单价格平仓
换月平多仓:SELL((HOLDING > 0),N1,market),ignorecheckprice,ignorecheckprice;//平多,忽略掉下单价格平仓
END

 


--  作者:phone
--  发布时间:2013/9/10 10:37:36
--  

请问以下指令是“平当前的多单或空单,市价委托下月合约吗”


BEGIN

换月平空仓:SELLSHORT((HOLDING < 0),N1,market),ignorecheckprice,ignorecheckprice;//平空,忽略掉下单价格平仓
换月平多仓:SELL((HOLDING > 0),N1,market),ignorecheckprice,ignorecheckprice;//平多,忽略掉下单价格平仓
END




--  作者:jinzhe
--  发布时间:2013/9/10 10:47:30
--  
是的