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


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

   

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


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

主题:全局变量问题

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/6/27 9:33:33    Post IP:180.169.30.6[显示全部帖子]

他取的是初次初始化时候的一个值,也就是下面这里的全局变量初次初始化时候的值。而且取的是开仓K位置的收盘价。 这个和监控里面值没有关系了已经,监控那里的价格要么是挂单价要么是成交价,要么是下单当时的最新价。

上次开多:=TTYPEBAR(1,1);
上次开多价:=ref(close,上次开多);

variable:全局开多价:=上次开多价;


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/6/27 9:50:03    Post IP:180.169.30.6[显示全部帖子]

variable:全局开仓价:=TENTERPRICE;
测试2:ref(全局开仓价,1);

这种测试了,是无法获取值的。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/6/27 11:09:11    Post IP:180.169.30.6[显示全部帖子]

1.a1这里取的是实际成交价对吧。
2.开仓之后的趋势也有可能是先下穿a1了。这种如何处理,等待下穿上穿后再下穿?


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/6/27 14:30:11    Post IP:180.169.30.6[显示全部帖子]

 //需要说明下:当时成交价不是很好处理,因为无法确定到底什么时候会成交,如果还有其他开仓混杂的话就更不好处理了。所以可以按照当时最新价处理。
//

GLOBALVARIABLE:etprice:=0,mark:=0,a1:=0;

if  开仓条件 and  mark=0 then //必须保证这个开仓条件是开仓的充分必要条件
begin
tbuy(1,1,mkt);
etprice:=DYNAINFO( 7);//获取最新价
a1:=etprice+日线atr;//计算a1
mark:=1;//标记开仓位置
end



len:BARSLAST(mark=1);//开仓距离现在的位置
jc:cross(c,a1);//上穿
sc:cross(a1,c);
cd:count(jc,len)=1 and sc;//必须上穿了一次,然后当前是下穿说明满足止盈条件

if cd and TBUYHOLDINGEX('','',1)>0 and mark=1 then
begin
mark:=0;
tsell(1,1,mkt);    
end



命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/6/27 14:31:05    Post IP:180.169.30.6[显示全部帖子]

大致处理了下,你参考下。因为不知道你是否还有其他开仓,这里就用全局变量标记开仓。这个肯定没办法一步到位,atr之类的定义你自行处理下。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/6/27 14:55:12    Post IP:180.169.30.6[显示全部帖子]

这个全局变量没啥需要注意的。就是停止程序化之后,这个变量会注销。无法衔接上一次运行时候的计算结果。你下单复杂吗?如果下单只是简单的一开一平会好处理很多。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2019/6/27 15:11:39    Post IP:180.169.30.6[显示全部帖子]

 如果你是多个开仓条件,且多个开仓条件是相互独立的。你最后写模型时候先用少点开仓条件处理吧。等稳定了再处理更多开仓的情况。
[此贴子已经被作者于2019/6/27 15:12:26编辑过]


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