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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]以下代码有什么问题?

   

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


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

主题:[求助]以下代码有什么问题?

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


加好友 发短信
等级:论坛游侠 帖子:356 积分:767 威望:0 精华:0 注册:2011/9/5 10:51:56
[求助]以下代码有什么问题?  发帖心情 Post By:2019/4/25 9:36:44    Post IP:113.67.156.59[只看该作者]

如下:

 

FOR I = 1 TO T DO BEGIN
 V1 := REF(C,I) - REF(O,2*I-1);
 V2 := C - REF(O,I-1);
 A[I] : (V2 - V1) / I,COLORWHITE;
 MAX_A_HHV[I] : HHV(A[I],T*10),COLORRED;
 MIN_A_LLV[I] : LLV(A[I],T*10),COLORGREEN;
END;

 

数组的赋值是不是不能直接这么写?编译可以通过,但是在图上就无法显示出A[I]与其他两个最大最小值,如果我想显示出这三个数的话要怎么写才好?


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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2019/4/25 9:44:10    Post IP:180.169.30.6[只看该作者]

策略交易中基本上用不到数组这种方式,数组和k线不在一个坐标系内。数组在k线上计算结果是纵向的最后一个。对于整个k线看,每根k的结果就是固定不变的、
数组需要定义。
VARIABLE:A[5]:=0,MAX_A_HHV[5]:=0,MIN_A_LLV[5]:=0;

FOR I = 1 TO T DO BEGIN
 V1 : REF(C,I) - REF(O,2*I-1);
 V2 : C - REF(O,I-1);
 A[I] := (V2 - V1) / I,COLORWHITE;
 MAX_A_HHV[I] := HHV(A[I],T*10),COLORRED;
 MIN_A_LLV[I] := LLV(A[I],T*10),COLORGREEN;
END;

显示必须单独指定显示。

A1:A[1];
bb:MAX_A_HHV[2] ;
cc: MIN_A_LLV[2];

[此贴子已经被作者于2019/4/25 9:50:50编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
out-u
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:20 积分:50 威望:0 精华:0 注册:2011/5/30 16:16:40
  发帖心情 Post By:2019/4/25 12:35:04    Post IP:101.206.227.131[只看该作者]

循环内就得指定下标,你这样肯定是错的。

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


加好友 发短信
等级:论坛游侠 帖子:356 积分:767 威望:0 精华:0 注册:2011/9/5 10:51:56
  发帖心情 Post By:2019/4/26 9:35:19    Post IP:119.32.216.200[只看该作者]

那我这样定义一个临时参数再加一个循环来传导其中一个特定目标的呢,为什么还是没显示?

 

INPUT : T(5,1,50);//自行定义td的值。

TEMP_UP := -100000;//初始定义一个比较小的值
TEMP_DOWN := 100000;//初始定义一个比较小的值

J_UP := 0;
J_DOWN := 0;

VARIABLE:A[5]:=0,MAX_A_HHV[5]:=0,MIN_A_LLV[5]:=0;

 

FOR I = 1 TO T DO BEGIN
 V1 := REF(C,I) - REF(O,2*I-1);
 V2 := C - REF(O,I-1);
 A[I] := (V2 - V1) / I,COLORWHITE;
 MAX_A_HHV[I] := HHV(A[I],T*10),COLORRED;
 MIN_A_LLV[I] := LLV(A[I],T*10),COLORGREEN;
END;

 

FOR J := T TO 1 DO BEGIN
 IF A[J] > TEMP_UP AND A[J] > 0 AND A[J] > REF(MAX_A_HHV[J],1) THEN BEGIN
  TEMP_UP := A[J];
  J_UP := J;
 END;
 IF A[J] < TEMP_DOWN AND A[J] < 0 AND A[J] < REF(MIN_A_LLV[J],1) THEN BEGIN
  TEMP_DOWN := A[J];
  J_DOWN := J;
 END;
END;

 

MAX_A_UP_NOW : TEMP_UP,COLORYELLOW;//最大值
MAX_T_UP : J_UP,LINETHICK0,COLORBLUE;//最大值对应的t

MAX_A_DOWN_NOW : TEMP_DOWN,COLORWHITE;//最大值
MAX_T_DOWN : J_DOWN,LINETHICK0,COLORBLUE;//最大值对应的t


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


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2019/4/26 10:01:10    Post IP:180.169.30.6[只看该作者]

MAX_A_HHV[I] := HHV(A[I],T*10),COLORRED;
 MIN_A_LLV[I] := LLV(A[I],T*10),COLORGREEN;

你这种不符合金字塔pel策略的运行计算机制。hhv等函数计算的条件就是必须是序列变量,而不是元素。元素自己没有最大最小的说法

你这类多维的需求,pel很难实现。



编程无捷径,技巧靠积累。
 回到顶部