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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 编写公式遇到的复杂问题

   

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


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

主题:编写公式遇到的复杂问题

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


加好友 发短信
等级:新手上路 帖子:34 积分:0 威望:0 精华:0 注册:2020/9/24 18:32:48
编写公式遇到的复杂问题  发帖心情 Post By:2020/9/25 12:01:04    Post IP:180.110.213.250[只看该作者]

这个公式思想是在主图中画出 两个高点连接的趋势线,最终目标是找出主图全部高点 全部画出  难过的是 用两种模式都不能成功图片点击可在新窗口打开查看

RUNMODE:0;//逐K线模式
VARIABLE:AAA[]=0;//定义一个空数组 准备保存高点对应序列位置
hhh:=if(ref(h,n)=hhv(h,2*n),BARPOS-n,0);//取得高点对应序列位置 N参数取 3---13
if hhh>0 then
AAA:=hhh;//把所有高点序列位置信息 赋值到 数组AAA
ss:UBOUND(aaa);//得到数组个数 找一个新股K线少的 目测没问题 显示是对的

//上面测试没问题,下面取出高点序列位置  容易造成  数组越界操作
IF NOT(ISLASTBAR) THEN EXIT;//不加这个下面语句wz wz1 报错-----数组越界操作

wz:aaa[ss];//最近一次高点序列位置
wz1:aaa[ss-1];//上一次高点序列位置
趋势线:DRAWLINE(BARPOS=wz,h,BARPOS=wz1,h,1 );//画线不显示,原因可能是语句 IF NOT(ISLASTBAR) THEN EXIT;

{RUNMODE:1;//序列线模式
VARIABLE:AAA[]=0;//定义一个空数组 准备保存高点对应序列位置
j:=1;//数组序列个数

hh:ref(h,n)=hhv(h,2*n);//定义高点,放在下面循环外
FOR I=1 TO DATACOUNT DO
BEGIN
if hh>0 then
begin
AAA[j]:=BARPOS-n;
j:=j+1;
end
end
ss:UBOUND(aaa);//得到数组个数 找一个新股K线少的 目测没问题 显示是0的 错误 应该是循环有问题 可是问题不明所以
jj:j;}//J值等于1 为初始值1,为什么没有循环

我已经为了这个问题想了个把月了图片点击可在新窗口打开查看
好想好想好想  有达人 能够帮我解惑图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/9/25 13:14:26    Post IP:58.246.57.26[只看该作者]

 序列模式下定义不了数组的啊。你不能在序列模式下定义数组然后使用它。

你提供下你的原始思路的完整说明,我们看下是否有解决方案。


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


加好友 发短信
等级:新手上路 帖子:34 积分:0 威望:0 精华:0 注册:2020/9/24 18:32:48
  发帖心情 Post By:2020/9/25 16:32:18    Post IP:180.110.213.250[只看该作者]

以下是引用FireScript在2020/9/25 13:14:26的发言:
 序列模式下定义不了数组的啊。你不能在序列模式下定义数组然后使用它。

你提供下你的原始思路的完整说明,我们看下是否有解决方案。



思路很简单 就是画压力线  连接两个相邻的高点,以这两个高点为基准画线
高点的位置就是这个语句 hhh:=if(ref(h,n)=hhv(h,2*n),BARPOS-n,0);//取得高点对应序列位置 N参数取 3---13


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


加好友 发短信
等级:新手上路 帖子:34 积分:0 威望:0 精华:0 注册:2020/9/24 18:32:48
  发帖心情 Post By:2020/9/25 16:50:34    Post IP:180.110.213.250[只看该作者]

RUNMODE:0;//逐K线模式
VARIABLE:AAA[]=0;//定义一个空数组 准备保存高点对应序列位置
hhh:=if(ref(h,n)=hhv(h,2*n),BARPOS-n,0);//取得高点对应序列位置 N参数取 3---13
if hhh>0 then
AAA:=hhh;//把所有高点序列位置信息 赋值到 数组AAA
ss:UBOUND(aaa);//得到数组个数 找一个新股K线少的 目测没问题 显示是对的

//上面测试没问题,下面取出高点序列位置  容易造成  数组越界操作
IF NOT(ISLASTBAR) THEN EXIT;//不加这个下面语句wz wz1 报错-----数组越界操作

wz:aaa[ss];//最近一次高点序列位置
wz1:aaa[ss-1];//上一次高点序列位置
趋势线:DRAWLINE(BARPOS=wz,h,BARPOS=wz1,h,1 );//画线不显示,原因可能是语句 IF NOT(ISLASTBAR) THEN EXIT;

这个就是我的完整思路阿,能编译通过  但是画线显示不了 


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


加好友 发短信
等级:新手上路 帖子:34 积分:0 威望:0 精华:0 注册:2020/9/24 18:32:48
  发帖心情 Post By:2020/9/25 17:01:18    Post IP:180.110.213.250[只看该作者]

这个图显示的是连接最后两个高点画压力线

 回到顶部