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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 求助:简单循环的写法

   

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


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

主题:求助:简单循环的写法

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


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

 mark:=0;
for i=1 to 20 do
begin
m2:=ma(c,20-i);
m3:=ma(c,30-i);    
if m2=m3 then mark:=i;
end

show:mark;

或者
VARIABLE:x[20]:=0;
for i=1 to 20 do
begin
m2:=ma(c,20-i);
m3:=ma(c,30-i);   
x[i]:=abs(m2-m3);
end

show:MFAMAX(x ,20);//这种可以找到绝对值最小位置的I值。



写倒是没啥吧,就是遍历下所以I情况下的均线值,再做个对比。但是这种循环运行起来会很卡的。
[此贴子已经被作者于2021/3/29 9:37:16编辑过]


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


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

后面一种写法就是取绝对值最小,也就是差值最小的位置的。 我也觉得相等不可能,所以才提供了后面的那种方式。


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


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

  mark:=0;
for i=1 to 20 do
begin
m2:=ma(c,20-i);
m3:=ma(c,30-i);    
if cross(m2,m3) then mark:=i;
end

show:mark;
判断条件改下就行了。但是如果有多个满足条件的I  只能输出最后一个。没办法都计算出来。


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


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

 这样试下。

 mark:=0;
for i=1 to 20 do
begin
m2:=ma(c,20-i);
m3:=ma(c,30-i);  
 
if cross(m2,m3) then  begin
mark:=i;
BREAK;
end
end

show:mark;

如果不存在金叉的 mark值为0.


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