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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → [讨论]把SMA提到IF前面后,出现问题?

   

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


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

主题:[讨论]把SMA提到IF前面后,出现问题?

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


加好友 发短信
等级:新手上路 帖子:68 积分:0 威望:0 精华:0 注册:2016/7/26 17:20:42
[讨论]把SMA提到IF前面后,出现问题?  发帖心情 Post By:2017/8/14 17:39:01 [只看该作者]

 
以下是截取1小段代码:
IF mod(当前K线序号,3)=1 THEN BEGIN

       A:=CALLSTOCK('',vtCLOSE,3,0);     
       
       15分钟长RSI:=SMA(MAX(C-A,0),N1,1)/SMA(ABS(C-A),N1,1)*100;
 
     
   END


按照提示,需要把SMA提到IF前面,但是我的SMA里面的A值,是通过CALLSTOCK取得,难道把CALLSTOCK也提到IF前?还是怎解决?

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


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

常规做法是把SMA以及CALLSTOCK单独抽离出来,放在条件语句外面用变量存储下,然后在IF里面调用。意思就是无论你是否用的到,反正先给算出来放边上备用。


命数如织,当如磐石。
 回到顶部
客人(183.47.*.*)
  3楼


  发帖心情 Post By:2017/8/15 9:52:40 [只看该作者]

 


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


加好友 发短信
等级:新手上路 帖子:68 积分:0 威望:0 精华:0 注册:2016/7/26 17:20:42
  发帖心情 Post By:2017/8/15 9:53:10 [只看该作者]

CALLSTOCK是在满足IF条件才能进行,要是把他放到IF前面,我要怎增加语句,来实现CALLSTOCK调用数据?

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


加好友 发短信
等级:超级版主 帖子:4994 积分:0 威望:0 精华:0 注册:2016/9/1 10:46:51
  发帖心情 Post By:2017/8/15 10:02:05 [只看该作者]

你直接引用15分钟周期上的RSI指标就可以了,不需要再算一遍啊。

IF mod(当前K线序号,3)=1 THEN
  15分钟RSI:=stkindi('','RSI.RSI1',0,3,0);

[此贴子已经被作者于2017/8/15 10:02:19编辑过]

 回到顶部