以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]IF与全局变量问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=68275) |
-- 作者:LT-IQH89 -- 发布时间:2014/8/4 10:52:04 -- [求助]IF与全局变量问题 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手,如何编写? 请老师指导,谢谢。
|
-- 作者:jinzhe -- 发布时间:2014/8/4 11:10:04 -- variable:A=1;B=0; 这个表示A是全局变量,B是普通变量 variable:A=1,B=0; A和B中间改成逗号,才表示分别定义两个全局变量 |
-- 作者: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 请教老师如何编写,谢谢。
|
-- 作者:jinzhe -- 发布时间:2014/8/4 11:29:15 -- if holding=0 and 其他条件 then buyshort(条件,1,价位); if holding<0 and 其他条件 then buyshort(条件,2,价位);
你给我的感觉就是这样写 |
-- 作者: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,价位);
你给我的感觉 |
-- 作者:LT-IQH89 -- 发布时间:2014/8/4 11:41:13 -- 你给我的感觉.............? 那么当 HOLDING<0 开空仓n1手,当 HOLDING=0 开空仓n2手,并且要控制交易次数呢? |
-- 作者: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 |
-- 作者: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 |
-- 作者:jinzhe -- 发布时间:2014/8/12 9:53:47 -- 不行,不要偷懒 |
-- 作者: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 请问老师,为何上面的可以,不能两次开空?不是偷懒,而是为了逻辑、条理清晰
|