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


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

   

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


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

主题:请教个赋值问题

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


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

1.你什么周期的。日线或者较大的周期的处理和小周期不一样

2.“高点H赋值为当日H”  这里,实现不了。不能用代码修改K线数据。



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


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

日线周期下time函数的判断会失效。你这个在日线下有问题的。

你用小周期去运行这段代码才行。

 

 

 



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


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

如果想要记住那个值的话。可以把K值用全局变量保存下。

 

variable:s:=0;

 

H_3:=callstock('',vthigh,6,-3);

H_2=callstock('',vthigh,6,-2);

 

if  time>110000 and time <113000 then
begin
s:=hhv(h,barslast(time=110000))
end

 

if H_3>H_2 and H_2>s and time>110000 and time <113000 then DRAWICON();

 

showS:s;



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


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

思路是可以的。可能是引用函数问题

你试下不用stkindiex后面ex去掉,因为这个函数最后一个参数不好控制,你不知道到底多少量才能满足当前的引用。



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


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

问题出在time上面。

 

1.首先如果你是要金字塔时间的话,你最好把time输出下 找到北京时间1130对应的time是多少 然后修改下判断条件 其他几个判断条件类似处理。

2.你的那个条件里面的问题 是B:VALUEWHEN(TIME>11000 AND TIME<1130000,H);   恒不成立。

1130000 改成113000 ,其他类似处理。按照1找到你要的时间的对应的time值 。



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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/3/22 17:02:24    Post IP:180.169.30.6[显示全部帖子]

 


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

 

日线引用分钟,需要足够多分钟线才行。如果日线日期靠前的话,分钟线数据可能不够。

 

另外你那个time判断条件在金字塔时区下真的不对,你把time判断条件输出下就能很明显看出来了。

 

A:VALUEWHEN(TIME<151000,H);//金字塔时间是北京时间加4小时
B:VALUEWHEN(TIME>151000 AND TIME<153000,H);
C1:IF(TIME>153000 AND A>B,A,B);

 



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


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

把你思路重新描述下,推倒之前的做法的重新写吧。


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


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

time 如果是股票你就不用管了,之前没问清楚,我以为是期货。

 你先稍等下,写好了测试完发上来给你。



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


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

有一个问题哦

 

你这个最高价取到最后不就是取开盘到11点30的最高价了? 假如当前是最新K且北京时间没到11点30 那就取开盘到当前时间为止的最高价。  你这逻辑一整理,好像就是这样子了。你看下是不是这个样子。



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


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

被引用的指标:

a1:BARSLAST(time<=113000);//距离11:30位置的关系,a1=0 说明在11:30之前。
re:if(a1=0,hhv(h,TODAYBAR),ref(hhv(h,TODAYBAR),a1));//当日11:30之前最高价

 

//思路:如果当前时间在11:30之前,取得当日开盘以来的最高价,如果已经过了11;30
//取开盘到11:30这个阶段的最高价。

 

日线周期下运行的指标:

A:STKINDI('' ,'As.re' ,0,1,0); //注意,务必确保日线对应的1分钟数据是否充足,因为这个引用是依赖1分钟数据进行计算的,如果日线对应日期没有1分钟数据,就无法引用到正确值。

 

我本地测试了是OK的。你先补充下1分钟数据。否则可能在历史日线上输出不出来。



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