以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  交易单位手数的“参数设置”问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=8860)

--  作者:tmxker
--  发布时间:2011/11/8 10:32:26
--  交易单位手数的“参数设置”问题

--------------------------------


我搞了一个可自定义不同品种交易单位手数的“参数设置”,但是,在交易中所下的单都为“1手”,而不是我所设定的,请高手们帮助解决问题出在哪里。


VZN:=3;   //(3,0,100)
VRU:=2;
VTA:=3;
VSRX:=4;
VL:=3;


STKV:=if(stricmp(strleft(stklabel,2),\'ZN\')=0,VZN,0) or
      if(stricmp(strleft(stklabel,2),\'RU\')=0,VRU,0) or               
      if(stricmp(strleft(stklabel,2),\'TA\')=0,VTA,0) or 
      if(stricmp(strleft(stklabel,3),\'SRX\')=0,VSRX,0) or              
      if(stricmp(strleft(stklabel,1),\'L\')=0,VL,0);


//LD1无仓开多
if ZQMJ and STKV and THOLDING=0 then begin
Tbuy(1,STKV,MKT);
end


--------------------------------

[此贴子已经被作者于2011-11-8 10:35:48编辑过]

--  作者:fly
--  发布时间:2011/11/8 10:45:42
--  

STKV:=if(stricmp(strleft(stklabel,2),\'ZN\')=0,VZN,0) or
      if(stricmp(strleft(stklabel,2),\'RU\')=0,VRU,0) or               
      if(stricmp(strleft(stklabel,2),\'TA\')=0,VTA,0) or 
      if(stricmp(strleft(stklabel,3),\'SRX\')=0,VSRX,0) or              
      if(stricmp(strleft(stklabel,1),\'L\')=0,VL,0);

这里面的每一个都是条件判断

结果是STKV的值非0就是1,如果不是这几个品种的任何一个,那结果就是0

 

定义一个全局变量,不同品种,赋不同值


--  作者:tmxker
--  发布时间:2011/11/8 11:09:20
--  
麻烦FLY,按我的多品种常数设置,给搞一个不同品种的全局变量设置、赋值。我不会弄。谢谢。
--  作者:阿火
--  发布时间:2011/11/8 12:25:19
--  

这样即可:

STKV:if(stricmp(strleft(stklabel,2),\'ZN\')=0,1,
     if(stricmp(strleft(stklabel,2),\'RU\')=0,2,
     if(stricmp(strleft(stklabel,2),\'TA\')=0,3,
     if(stricmp(strleft(stklabel,3),\'SRX\')=0,4,
     if(stricmp(strleft(stklabel,1),\'L\')=0,5,0)))));


--  作者:tmxker
--  发布时间:2011/11/8 14:25:18
--  

谢谢火哥,我试试。

 

我有一个问题,这样的写法,当第1个品种ZN满足条件后,程序还回往下运行吗?例如,在监控多个组合品种时,有时会有多个品种同时满足监控条件,下指令交易。

[此贴子已经被作者于2011-11-8 14:48:03编辑过]