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


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

   

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


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

主题:全局变量赋值问题

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


加好友 发短信
等级:论坛游侠 帖子:191 积分:0 威望:0 精华:0 注册:2015/11/21 21:26:35
全局变量赋值问题  发帖心情 Post By:2020/8/20 20:00:08    Post IP:182.34.32.219[只看该作者]

VARIABLE:sj=0,sjh=0,bj=0,bjh=0;

/止损
IF C<AVGENTERPRICE  and holding=1   and sjh=1 and c<g   THEN BEGIN  //and (sj=c and sjh=1)or (bj=c and bjh=1)
多损s:sell(y2,HOLDING,MARKETr);
END
if 多损s=1 then begin
 sj:=0;
sjh:=0;   
end     

//进场
if holding=0 and sj=0 and sjh=0 and t1 and y1 then begin
s多进:buy(1,1,MARKETR),NODRAW;
sj:=c;
sjh:=1;
end
if holding=0 and bj=0 and bjh=0 and t2 and y1 then begin
b多进:buy(1,1,marketr),NODRAW;
bj:=c;
bjh:=1;
end

在图表第一次遇到s多进 场的信号,全局变量执行正常触发全部止损信号止损并重新赋值归零。接着第二次遇到s多进场信号,开仓后的第一跟k线有赋值,第二根k线起sj   sjh重新赋值为0,   什么原因,请老师给看下

如果s止损这么写 
/止损
IF C<AVGENTERPRICE  and holding=1   and sjh=1 and c<g   THEN BEGIN  //and (sj=c and sjh=1)or (bj=c and bjh=1)
多损s:sell(y2,HOLDING,MARKETr);
 sj:=0;
sjh:=0;   
end      则在第一次与到s多进场后的第3跟k线sj   sjh就赋值成零了  

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/8/21 8:56:03    Post IP:58.246.57.26[只看该作者]

全局变量的赋值,放到平仓语句同一个begin-end下。再把y2放在if后面的判断里面

IF C<AVGENTERPRICE  and holding=1   and sjh=1 and c<g  and y2 THEN BEGIN  //and (sj=c and sjh=1)or (bj=c and bjh=1)
多损s:sell(y2,HOLDING,MARKETr);
sj:=0;
sjh:=0;
END


之所出现你说的“ 则在第一次与到s多进场后的第3跟k线sj   sjh就赋值成零了  ” 很显然是if后面的条件满足了,但是y2没有满足,所以只重置全局变量了,但是平仓却没有触发。


命数如织,当如磐石。
 回到顶部