Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共19 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]IF与全局变量问题

1楼
LT-IQH89 发表于:2014/8/4 10:52:04
IF与全局变量问题
1、全局变量的设置
variable:n=1;    // 全局变量,来控制当天交易仓位
variable:num=0;// 全局变量,来控制当天交易次数
看到论坛有:variable:A=1;B=0;这形式是否成立?A=n? B=num ?A、B如果成立,如此最多数量?

2、IF COND THEN EXPR1 ELSE EXPR2
这个语句是否可以直接操作下单,如:“ SELLSHORT ”,不知为何通不过?

3、IF COND THEN EXPR1 ELSE EXPR2 + begin + 全局变量 “n”、“ num”的正确编写结构?

如:条件相同,只是 HOLDING<0、 HOLDING=0 问题,当 HOLDING<0  开仓2手 ;当 HOLDING=0  开仓1手,如何编写?

请老师指导,谢谢。
2楼
jinzhe 发表于:2014/8/4 11:10:04

variable:A=1;B=0;

这个表示A是全局变量,B是普通变量

variable:A=1,B=0;

A和B中间改成逗号,才表示分别定义两个全局变量

3楼
LT-IQH89 发表于:2014/8/4 11:25:35
条件相同,只是 HOLDING 问题,当 HOLDING<0  开空仓2手,当 HOLDING=0  开空仓1手
不重复编写 IF 条件 AND  HOLDING<0 THEN  begin
           BUYSHORT(1,加SRN,THISCLOSE);
           n:=N*2;
           num:=num+2;
           end 
请教老师如何编写,谢谢。
4楼
jinzhe 发表于:2014/8/4 11:29:15

if holding=0 and 其他条件 then buyshort(条件,1,价位);

if holding<0 and 其他条件  then buyshort(条件,2,价位);

 

你给我的感觉就是这样写

5楼
LT-IQH89 发表于:2014/8/4 11:36:26
以下是引用jinzhe在2014/8/4 11:29:15的发言:

if holding=0 and 其他条件 then buyshort(条件,1,价位);

if holding<0 and 其他条件  then buyshort(条件,2,价位);

 

你给我的感觉

6楼
LT-IQH89 发表于:2014/8/4 11:41:13
你给我的感觉.............?
那么当 HOLDING<0  开空仓n1手,当 HOLDING=0  开空仓n2手,并且要控制交易次数呢?

7楼
jinzhe 发表于:2014/8/4 13:03:43

variable:n=0;//n为开仓次数

if holding=0 and 其他条件 and n<既定的次数 then  begin

   buyshort(条件,1,价位);

   n:=n+1;

end

if holding<0 and 其他条件 and n<既定的次数  then begin

   buyshort(条件,2,价位);

   n:=n+1;

end

8楼
LT-IQH89 发表于:2014/8/12 9:28:25
条件相同,只是 HOLDING 问题,当 HOLDING<0 开空仓2手,当 HOLDING=0 开空仓1手
不重复编写 IF 条件 AND HOLDING<0 THEN begin
BUYSHORT(1,加SRN,THISCLOSE);
n:=N*2;
num:=num+2;
end
请教老师如何编写,谢谢。

老师你好,这个问题能不能如下表达,;
variable:n=0,N1=X1,N2=X2;//n为开仓次数,N1开仓数量, N2开仓数量
不重复编写:=IF(条件 AND HOLDING<0 ,N1<=既定的量 AND n<既定的次数,IF(条件 AND  HOLDING=0 ,N2<=既定的量 AND n<既定的次数,0));
不重复编写:=条件 AND HOLDING<0 AND N1<=既定的量 AND n<既定的次数 OR 条件 AND  HOLDING=0 AND N2<=既定的量 AND n<既定的次数;
IF 不重复编写 THEN 
begin
    BUYSHORT(HOLDING<0,N1,THISCLOSE);
    BUYSHORT(HOLDING=0,N2,THISCLOSE);
    N1:=N1*2;
    N2:=N2*2;
    n:=n+1;
end
9楼
jinzhe 发表于:2014/8/12 9:53:47
不行,不要偷懒
10楼
LT-IQH89 发表于:2014/8/12 10:07:45
Post By:2014/6/13 16:17:05 [只看该作者]

1,如果开仓有限制,则代码不会进行平仓反手

VARIABLE:A=0;
//中间变量
MA1:=MA(CLOSE,A);
MA2:=MA(CLOSE,B);

手数:=ss;
//交易条件

开多平空条件:=CROSS(MA1,MA2);//开多平空条件
开空平多条件:=CROSS(MA2,MA1);//开空平多条件

IF A=0 THEN
BEGIN
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件 手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
A:=1;
END


请问老师,为何上面的可以,不能两次开空?不是偷懒,而是为了逻辑、条理清晰
共19 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.24609 s, 3 queries.