共8 条记录, 每页显示 10 条, 页签:
		
							[1]
						
 
[浏览完整版]
										标题:TBUYSHORT 能这样嵌套 在if 语句使用吗?
 
1楼
				
OscarDeng 发表于:2020/2/9 0:11:29
 
TBUYSHORT 能这样嵌套 在if 语句使用吗?
IF 空头开仓数>8 AND 成交量比例>2 THEN//如果是成交量千分之二那么多, 建议分两次下而且用加仓的方式来操作。
    BEGIN
			  IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN 
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)+DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-2*DYNAINFO(208))
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-3*DYNAINFO(208))
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+3*DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+2*DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+DYNAINFO(208));
      END
      IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)+DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-2*DYNAINFO(208))
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(28)+2*DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(28)+DYNAINFO(208));
      END       
      IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
      BEGIN 
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(28)+2*DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(28+DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(28));
        TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34));
        TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)+DYNAINFO(208));
      END     
   END   
 
2楼
				
wenarm 发表于:2020/2/9 10:15:25
 
可以嵌套
[此贴子已经被作者于2020/2/9 10:15:42编辑过]
 
3楼
				
OscarDeng 发表于:2020/2/9 17:44:03
 
那请问下面的语句哪里出现错误? 错误提示:TBUYSHORT不得在其他函数总做未参数被调用
IF HOLDING=0 AND TSELLHOLDINGEX("","",2)=0 THEN BEGIN //注意holding是策略的理论持仓,他不管实际仓位例如我想开单是10的, 那就用10, 100万的, 就用100. 最高就是100W。
//持仓比例和成交量的比例, 所以这两者一般不会去动, 除非是一些非主力合约
//1.看成交量
//2.看卖一和买一的中间加个 DYNAINFO(34)卖一价;DYNAINFO(28)买一价; DYNAINFO(208)最小变动单位;
    IF 空头开仓数>16 AND 成交量比例>2 THEN//如果是成交量千分之二那么多, 建议分两次下而且用加仓的方式来操作。
    BEGIN
			  IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN 
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)+DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-2*DYNAINFO(208))
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-3*DYNAINFO(208))
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+3*DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+2*DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+DYNAINFO(208));
      END
      IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)+DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-2*DYNAINFO(208))
			    TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(28)+DYNAINFO(208));
      END       
      IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
      BEGIN 
			TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)+DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34));
			    TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28));
      END     
   END   
   IF 空头开仓数>16 AND 成交量比例>8 THEN
   BEGIN
			  IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN 
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)+DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-2*DYNAINFO(208))
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-3*DYNAINFO(208))
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+3*DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+2*DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+DYNAINFO(208));
      END
      IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)+DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-2*DYNAINFO(208))
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(28)+2*DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(28)+DYNAINFO(208));
      END       
      IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
      BEGIN 
			TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)+DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34));
			    TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28));
      END     
   END   
   IF 空头开仓数<=8 AND 空头开仓数>=4  THEN    
   BEGIN
   IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN 
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)-DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(28)+3*DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(28)+2*DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(28)+DYNAINFO(208));
      END
      IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208));
      END       
      IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
      
			TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208));
      END
   IF 空头开仓数<=3 AND 空头开仓数>=2 THEN //注意holding是策略的理论持仓,他不管实际仓位   
 
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208));
      END
   IF 空头开仓数=1 THEN //注意holding是策略的理论持仓,他不管实际仓位   
 
			  BEGIN
 
			  
			IF DYNAINFO(25)>DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(34));//DYNAINFO(31) 是买一量, DYNAINFO(25) 是卖一量,
			  
			IF DYNAINFO(25)<DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(28));
      END   //开空信号
END
 
4楼
				
wenarm 发表于:2020/2/9 18:59:50
 
5楼
				
OscarDeng 发表于:2020/2/10 10:48:00
 
已经更新如下, 还是不行。   
IF 空头开仓数>16 AND 成交量比例>2 THEN//如果是成交量千分之二那么多, 建议分两次下而且用加仓的方式来操作。
    BEGIN
			  IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN 
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)+DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-2*DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-3*DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+3*DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+2*DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+DYNAINFO(208));
      END
      IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)+DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(34)-2*DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/5,LMT,DYNAINFO(28)+DYNAINFO(208));
      END       
      IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
      BEGIN 
			TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)+DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34));
			    TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28));
      END     
   END   
   IF 空头开仓数>16 AND 成交量比例<=2 THEN
   BEGIN
			  IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN 
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)+DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-2*DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(34)-3*DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+3*DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+2*DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/8,LMT,DYNAINFO(28)+DYNAINFO(208));
      END
      IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)+DYNAINFO(208));
			  
			TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34));
			  
			TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(34)-DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/4,LMT,DYNAINFO(28)+DYNAINFO(208));
      END       
      IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
      BEGIN 
			TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34)+DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(34));
			    TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28));
      END     
   END   
   IF 空头开仓数<=16 AND 空头开仓数>=4  THEN    
   BEGIN
   IF DYNAINFO(34)-DYNAINFO(28)>3*DYNAINFO(208) THEN 
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+3*DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+2*DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/3,LMT,DYNAINFO(28)+DYNAINFO(208));
      END
      IF DYNAINFO(34)-DYNAINFO(28)>DYNAINFO(208) AND DYNAINFO(34)-DYNAINFO(28)<=3*DYNAINFO(208) THEN
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208));
      END       
      IF DYNAINFO(34)-DYNAINFO(28)=DYNAINFO(208) THEN
      
			TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208));
			    TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208));
      END
   IF 空头开仓数<=3 AND 空头开仓数>=2 THEN //注意holding是策略的理论持仓,他不管实际仓位   
 
			  BEGIN 
			  
			TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(34)-DYNAINFO(208));
			TBUYSHORT(1,空头开仓数/2,LMT,DYNAINFO(28)+DYNAINFO(208));
      END
   IF 空头开仓数=1 THEN //注意holding是策略的理论持仓,他不管实际仓位   
 
			  BEGIN
 
			  
			IF DYNAINFO(25)>DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(34));//DYNAINFO(31) 是买一量, DYNAINFO(25) 是卖一量,
			  
			IF DYNAINFO(25)<DYNAINFO(31) THEN TBUYSHORT(1,空头开仓数,LMT,DYNAINFO(28));
      END   //开空信号
    END
END
 
6楼
				
FireScript 发表于:2020/2/10 11:07:53
 
此主题相关图片如下:temp.png

好几个地方遗漏了分号。
 
7楼
				
OscarDeng 发表于:2020/2/10 14:21:34
 
我重新发给你5楼的已经修改过加完整分号了, 还是不行, 说没有begin.  我检测了一下, 应该没有漏
 
8楼
				
FireScript 发表于:2020/2/10 14:41:06
 
用文本工具 统计了下   13个begin  15个end  还是有缺失的地方。你再排重下吧。 
 
		共8 条记录, 每页显示 10 条, 页签:
		
							[1]