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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请老师帮助

   

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


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

主题:请老师帮助

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


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

你的需求到底是30分钟引用60分钟周期的收盘价ma均线? 还是只是30分钟引用60分钟的收盘价? 


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


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

STKINDI('','MA.ma1',0,5);//

 

直接用引用函数就行了。 第三个参数5就是指定周期60分钟。ma1的周期参数也是可以修改的,可以参照stkindi函数的使用说明。

[此贴子已经被作者于2018/1/16 13:37:15编辑过]


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


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

你说的情况是不是这样:当前30分钟周期,被引用的60分钟并没有走完。你要引用的是60分钟走完(30分钟这时候肯定也是走完)的时候的那个均值?


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


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

你这样的需求的话,在历史K上是必然满足的,在历史K上引用的数据都是完成的固定数据,也就是你说的走完K的时候的收盘价,ma1计算的就是那个收盘价的均线。唯一需要单独处理的就是最近的1个或者2个K线,因为这时候因为60分钟没有走完,C在不断变化,会导致30分引用到的数据一直变动。    不知道这样说是否清楚。


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


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

处理逻辑是这样的:

判断小周期对应的大周期K是否走完。如果走完了那么正常使用stk引用ma1,如果没有走完那么就不取值。

新建一个指标T:

B:ISLASTBAR;

 

当前指标:

 

T:STKINDI('','T.B',5,0) and time>CURRENTTIME ;//引用60分钟的ISLASTBAR,如果是1并且当前时间还未收盘 说明60分K没有走完.

if T then result:STKINDI('','MA.ma1',5,0);

 

 

还有“但我只要引用每根60分钟周期K线的收盘价数据,中间的数据不要”  每个K都是由开高低收四个基础数据组成,不存在什么中间的数据。



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


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

T:STKINDI('','T.B',5,0) and time>CURRENTTIME ;//引用60分钟的ISLASTBAR,如果是1并且当前时间还未收盘 说明60分K没有走完.

if  not(T) then result:STKINDI('','MA.ma1',5,0);

 

 

之前写错了一个地方。

 

最终结果是 当前30分钟对应的60分如果是未完成的话,就不引用,result就没有值。通常只会在最后一个或二个K上有这个情况,因为这时候60分钟并没有走完。



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


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

你是没有数据吧。 60分钟数据有吗?当前的是30分钟数据是吧。 我本地操作是OK的。


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


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

你公式是不是在序列模式运行的?还有60分钟数据要有才行。你按照我说的去排查下。


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


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

result 是均值,T那个只是判断结果。


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


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

以下是引用yuanman在2018/1/16 13:09:56的发言:

FireScript 老师在吗?

 

抱歉......我写错了一个参数。result:STKINDI('','MA.ma1',0,5,0);   



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