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


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

   

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


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

主题:全局变量问题

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


加好友 发短信
等级:论坛游侠 帖子:241 积分:0 威望:0 精华:0 注册:2019/4/17 22:47:00
全局变量问题  发帖心情 Post By:2019/6/26 17:49:29    Post IP:117.152.199.120[只看该作者]


variable:全局开仓价:=TENTERPRICE;
测试2:ref(全局开仓价,1);
DEBUGFILE('D:\TESTg.TXT','全局开仓价:%.2f',全局开仓价);
DEBUGFILE('D:\TESTg.TXT','测试2:%.2f',测试2);

输出的日志
2019-06-26 17:41:55.838    全局开仓价:28372.00
2019-06-26 17:41:55.838    测试2:0.00


1.为什么测试2为0?  
2.怎么可以让测试2的值和全局开仓价 一致?

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


加好友 发短信
等级:论坛游侠 帖子:241 积分:0 威望:0 精华:0 注册:2019/4/17 22:47:00
  发帖心情 Post By:2019/6/27 0:09:51    Post IP:117.152.199.120[只看该作者]

WARNING_DISABLE:4;
WARNING_DISABLE:9;

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

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

if TENTERBARS(1)>=0  then begin
DEBUGFILE('D:\TEST00.TXT','----------------------------',0);
DEBUGFILE('D:\TEST00.TXT','品种代码:'+STKLABEL,0);
DEBUGFILE('D:\TEST00.TXT','时间:%.2f',DATE+19000000);
DEBUGFILE('D:\TEST00.TXT','time:%.0f',TIME());
DEBUGFILE('D:\TEST00.TXT','上次开仓到当前的周期数TENTERBARS(1):%.0f',TENTERBARS(1));
DEBUGFILE('D:\TEST00.TXT','上次开仓价格:%.2f',TENTERPRICE);

DEBUGFILE('D:\TEST00.TXT','全局开多价:%.2f',全局开多价);
DEBUGFILE('D:\TEST00.TXT','上次开多价:%.2f',上次开多价);
DEBUGFILE('D:\TEST00.TXT','上次开多:%.2f',上次开多);
DEBUGFILE('D:\TEST00.TXT','----------------------------',0);
end




日志
----------------------
2019-06-27 00:07:39.873    ----------------------------
2019-06-27 00:07:39.873    品种代码:NI00
2019-06-27 00:07:39.874    时间:20190627.00
2019-06-27 00:07:39.874    time:40700
2019-06-27 00:07:39.874    上次开仓到当前的周期数TENTERBARS(1):5
2019-06-27 00:07:39.875    上次开仓价格:101090.00
2019-06-27 00:07:39.875    全局开多价:98520.00
2019-06-27 00:07:39.875    上次开多价:101080.00
2019-06-27 00:07:39.876    上次开多:5.00
2019-06-27 00:07:39.876    ----------------------------


为什么全局开多价是 :98520.00 ????


图片点击可在新窗口打开查看此主题相关图片如下:55555.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2019/6/27 0:10:24编辑过]

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


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2019/6/27 9:28:18    Post IP:180.169.30.6[只看该作者]

不要这么记录,你是想要做什么动作呢?
这两个记录各自是干什么的

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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);

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


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


加好友 发短信
等级:论坛游侠 帖子:241 积分:0 威望:0 精华:0 注册:2019/4/17 22:47:00
  发帖心情 Post By:2019/6/27 10:53:17    Post IP:117.152.199.120[只看该作者]

谢谢版主测试. 

我把需求说下吧. 我实在搞不定了, 麻烦版主给下可以通过运行的代码.

需求: 后台程序化里需要实现一种止盈条件  :开多仓后, 收盘价格上穿A1, 然后 收盘价格再下穿A1, 触发止盈.

A1:(开仓价+日线atr)

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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了。这种如何处理,等待下穿上穿后再下穿?


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


加好友 发短信
等级:论坛游侠 帖子:241 积分:0 威望:0 精华:0 注册:2019/4/17 22:47:00
  发帖心情 Post By:2019/6/27 11:13:47    Post IP:117.152.199.120[只看该作者]

a1是 (开仓价+日线atr的值)

1.a1的开仓价实际成交价(如果实现起来麻烦, 取当时开仓的close也可以) .
2.开仓之后, 应该不会先下穿a1的, 因为a1的值永远比开仓价要大. (如果实在有这种情况,那就  等待下穿上穿后再下穿)

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


加好友 发短信
等级:论坛游侠 帖子:241 积分:0 威望:0 精华:0 注册:2019/4/17 22:47:00
  发帖心情 Post By:2019/6/27 14:06:00    Post IP:117.154.87.189[只看该作者]

版主 ,上面这个需求可以实现吗?

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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



命数如织,当如磐石。
 回到顶部
总数 15 1 2 下一页