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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]下标索引的问题

   

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


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

主题:[求助]下标索引的问题

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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
[求助]下标索引的问题  发帖心情 Post By:2020/11/9 13:32:35    Post IP:121.232.26.103[只看该作者]

INPUT:N(2,0.5,10,0.5);

variable:E[]=0;
if barpos<2 then E:=0;
Z2:ZIG(4,N);
temp1:=ref(HIGH,1);
if Z2<ref(Z2,1) and ref(Z2,1)>ref(Z2,2) then
 E:=temp1;
 A1:=E;//波峰
 b1:=E[UBOUND(E)-1] ;//前一个波峰
 if c>A1 THEN
  D1:=E[LBOUND(E)];//第一次突破时的波峰

 

 

请老师帮忙看一下,这段代码问题出现在哪里,帮忙更正一下,谢谢啦!!


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


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

 你要说下具体什么问题啊。否则我也不明白你的操作思路,我没办法判断的。



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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2020/11/9 13:57:44    Post IP:121.232.26.103[只看该作者]

通过ZIG取峰值,当价格第一次突破峰值后,判断其趋势为多头。


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


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

 你是想用数组存下每个波峰的最高价,然后判断最新价是否突破最近的一个波峰的最高价?

[此贴子已经被作者于2020/11/9 14:22:50编辑过]


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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2020/11/9 14:53:59    Post IP:121.232.26.103[只看该作者]

我想判断价格第一次突破峰值时的那个价格,这个峰值相当于颈线的值。


INPUT:N(2,0.5,10,0.5);

variable:E[]=0; 
if barpos<2 then E:=0; 
Z2:ZIG(4,N);
temp1:=ref(HIGH,1); 
if Z2<ref(Z2,1) and ref(Z2,1)>ref(Z2,2) then
 E:=temp1; 
 A1:=E;//波峰

这段代码能求出波峰最高价。


当价格第一次突破波峰的时候,才开始记录波峰,并且我只要判断第一个波峰是否突破,之后的突破则不需要,当价格反向突破波谷之后,数组清零,再次突破波峰重新开始记录。


因为我只能想到用数组去取第一个满足条件的值,不知道老师还有没有其它的办法。


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


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

 只第一次满足“Z2<ref(Z2,1) and ref(Z2,1)>ref(Z2,2) ”的时候?

那你这样取值啊:

INPUT:N(2,0.5,10,0.5);

Z2:ZIG(4,N);

cd:Z2<ref(Z2,1) and ref(Z2,1)>ref(Z2,2);
result:VALUEWHEN(count(cd,0)=1 and cd,ref(HIGH,1));





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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2020/11/9 15:59:51    Post IP:121.232.26.103[只看该作者]

是第一次满足‘C>峰值A1‘’的时候,始终取当前A1的值。

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


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

所以你的意思是A1值其实是更新的,就是波峰位置的H,只是我们始终取第一次 满足‘C>峰值A1‘时候的C(或者H?)?


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


加好友 发短信
等级:论坛游侠 帖子:139 积分:0 威望:0 精华:0 注册:2016/12/13 9:40:24
  发帖心情 Post By:2020/11/9 16:24:59    Post IP:121.232.26.103[只看该作者]

假设已知波峰A1,波谷B1;
当C>A1时,开始记录此时A1的价格,这是第一次,当第二~N次C>A1时,会出现新的A1价格,但是我仍然取第一个A1的价格;
直至C<B1,按照取A1的方式去波谷B1,之后再出现C>A1则重新开始计算。

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


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


假设已知波峰A1,波谷B1;
当C>A1时,开始记录此时A1的价格,这是第一次,当第二~N次C>A1时,会出现新的A1价格,但是我仍然取第一个A1的价格;
直至C<B1,按照取A1的方式去波谷B1,之后再出现C>A1则重新开始计算。
我看了下你这个逻辑上还是有很多有问题的地方啊。

波峰,波谷是一直在更新的。
zig的这个波峰波谷,很显然一个波峰到下个波谷之间。是肯定不会出现C大于波峰的值的。否则就不叫波峰了。

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看


所以在出现 C>A1之前 波峰早就更新了。也就是A1的值。

突破只能是发生在下面这个阶段中:

图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看


波谷之后的位置,新的波峰形成之前,可能有一个价格突破了之前的波峰。


[此贴子已经被作者于2020/11/10 9:32:22编辑过]


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