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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [讨论]关于逐周期模式下的Variable型全局变量的理解

   

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


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

主题:[讨论]关于逐周期模式下的Variable型全局变量的理解

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


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2010/11/1 15:39:02    Post IP:58.246.57.26[显示全部帖子]

在逐周期模式下,在每根K线上,代码都会重新执行一次.

 

         但,Variable型的全局变量,只会在一开始的时候初始化一次,随后的每个周期,会根据具体条件对此全局变量赋予不同的值,

从而可以让编程者根据其返回值再行判断和利用.

 

下面是一个根据楼主提供信息改编的一个简单的例子,希望可以帮助楼主更好的理解和使用Variable型的全局变量

 

//IF合约,1分钟周期,日内

 

ma5:ma(close,5);
ma15:ma(close,15);

 

//开多平空

if CROSS(ma5,ma15) and time>090100 and time<145000 then
begin
sellshort(holding<0,0,thisclose);
buy(holding=0,1,thisclose);
end

 

//开空平多

if CROSS(ma15,ma5) and time>090100 and time<145000 then
begin
sell(holding>0,0,thisclose);
buyshort(holding=0,1,thisclose);
end

 

//收盘前5分钟平仓
if time > 145500 then
 begin
 sell(holding > 0, 0, thisclose);
 sellshort(holding < 0, 0, thisclose);
 end

 

variable:s=0;                //初始化s=0
if holding>0 then begin
     s:=1;                    //  可以得到 holding>0-----s = 1
end;
if holding<0 then begin
     s:=2;                    //可以得到 holding<0-----s = 2
end;

if holding=0 then begin
     s:=-1;                   //可以得到 holding<0-----s= -1
end

ss:s,linethick0;

 

楼主可以在K线图上看到,S只有在一开始的时候,才被初始化过一次,为0;随后,S一直在1,2,-1之间变化



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

客户服务部

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

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

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

 回到顶部