欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]IF与全局变量问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3766人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
LT-IQH89
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:224 积分:0 威望:0 精华:0 注册:2014/7/6 10:39:13
[求助]IF与全局变量问题  发帖心情 Post By:2014/8/4 10:52:04    Post IP:119.39.102.251[只看该作者]

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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/8/4 11:10:04    Post IP:58.246.57.26[只看该作者]

variable:A=1;B=0;

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

variable:A=1,B=0;

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



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
LT-IQH89
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:224 积分:0 威望:0 精华:0 注册:2014/7/6 10:39:13
  发帖心情 Post By:2014/8/4 11:25:35    Post IP:119.39.102.251[只看该作者]

条件相同,只是 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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/8/4 11:29:15    Post IP:58.246.57.26[只看该作者]

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

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

 

你给我的感觉就是这样写



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
LT-IQH89
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:224 积分:0 威望:0 精华:0 注册:2014/7/6 10:39:13
  发帖心情 Post By:2014/8/4 11:36:26    Post IP:119.39.102.251[只看该作者]

以下是引用jinzhe在2014/8/4 11:29:15的发言:

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

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

 

你给我的感觉


 回到顶部
帅哥哟,离线,有人找我吗?
LT-IQH89
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:224 积分:0 威望:0 精华:0 注册:2014/7/6 10:39:13
  发帖心情 Post By:2014/8/4 11:41:13    Post IP:119.39.102.251[只看该作者]

你给我的感觉.............?
那么当 HOLDING<0  开空仓n1手,当 HOLDING=0  开空仓n2手,并且要控制交易次数呢?


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/8/4 13:03:43    Post IP:58.246.57.26[只看该作者]

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



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
LT-IQH89
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:224 积分:0 威望:0 精华:0 注册:2014/7/6 10:39:13
  发帖心情 Post By:2014/8/12 9:28:25    Post IP:119.39.16.223[只看该作者]

条件相同,只是 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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/8/12 9:53:47    Post IP:58.246.57.26[只看该作者]

不行,不要偷懒


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
LT-IQH89
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:224 积分:0 威望:0 精华:0 注册:2014/7/6 10:39:13
  发帖心情 Post By:2014/8/12 10:07:45    Post IP:119.39.16.223[只看该作者]

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 1 2 下一页