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


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

   

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


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

主题:代码编写

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/9/12 10:00:58    Post IP:180.169.30.6[显示全部帖子]

这种呢。d必须要有2个初始值才行。
就像下面这样。你给出的其实不完整,没有初始值。
if BARPOS=1 then D:=1;
if BARPOS=2 then D:=2;

d1:ref(d,1);
d2:ref(d,2);
if BARPOS>=3 then
begin
D:=3*d1+C/5+2+d2/2;
end

q:d;



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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/9/12 13:11:32    Post IP:180.169.30.6[显示全部帖子]

我大致解释了你需要需要修改的地方,但我不清楚你自己如何参照这个思路去实现自己的代码。你必须给出你的代码。否则我也不知道如何才能显示数据出来。


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


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

 1.公式里面包含C和q(D)有一个有效值直接并无直接因果关联。因为运算过程必须要求D自行设置2个初始值,如果没有,那后续的计算都是返回无效值的。
 2.如果按照我给的用来解释的范例是有可用有值的。



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

如上图所示。




[此贴子已经被作者于2018/9/12 13:35:40编辑过]


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


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

 1.你加载公式的方式有问题导致的,但是我这里不再过多揣测你的操作方式了。 我就建议直接加载在主图上,2楼的代码我是直接加载在主图上的。并且成功输出有效值的。

2.再强调一遍D的初始值是一定要有的,你给的公式原始思路肯定也是有这个初始值的处理的。我给的代码,我是纯粹随便写的初始值。如果你无法知道这个公式最初的完整思路,而套用我的代码的话,我是不建议这样做的。


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


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

 2楼的就是完整的代码了。这种代码我没必要不给你完整版本的。



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


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


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

 那个是之前写的其他代码留下来没删除的参数而已。和这里的代码并无任何关系。


[此贴子已经被作者于2018/9/13 14:03:17编辑过]


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/9/13 15:42:34    Post IP:180.169.30.6[显示全部帖子]

情况1的代码是对的。

情况2的代码,补全一下。需要和你说明下 下面这些代码都是
对 “
D:3*REF(D,1)+C/5+2+REF(D,4)/2;
这个公式的实现过程。你不必要把上面这句公式也一并和下面代码放在一起。


if BARPOS=1 then D:=1;
if BARPOS=2 then D:=2;
if BARPOS=3 then D:=3;
if BARPOS=4 then D:=4;

d1:ref(d,1);
d4:ref(d,4);
if BARPOS>=5 then
begin
D:=3*d1+C/5+2+d4/2;
end

q:d;

此代码依然可以按照正确逻辑进行计算和执行。

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





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


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

 1.不补上,逻辑上有缺陷的。
 2.在代码正确基础上,你需要正确加载指标才行。


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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/9/13 17:03:34    Post IP:180.169.30.6[显示全部帖子]

设定几个初始值 和你公式里面  ref的长度有关。你上面代码是ok的。



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


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

 D的初始值,均为自行设定的吗,如何设置取决于你本身的思路。 我前面写的是范例,并没有说一定要赋值成1到4. 


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