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


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

   

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


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

主题:[求助]递增问题

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


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/4/7 19:51:04
[求助]递增问题  发帖心情 Post By:2017/5/9 20:10:58    Post IP:118.250.187.126[显示全部帖子]

请老师指点图片点击可在新窗口打开查看怎么进行递增的运算并返回结果

非常伪的代码

for A:=范围(0.1,100),步长 0.1
Sign:=范围(-1,0,1),步长 1
Sum:=品种X收盘价*A+Sign*品种Y收盘价;
求Min(Sum),返回A;


不知道怎么在金字塔里套用这个A值?


A=???

stockcode1:='L00';
stockcode2:='PP00';

price1c:=CALLSTOCKEX(stockcode1,VTCLOSE,tf,0,2000);
price2c:=CALLSTOCKEX(stockcode2,VTCLOSE,tf,0,2000);

sum:= price1c * A + Sign * price2c;


求Min(sum) 返回Min(sum) , 返回A











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


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/4/7 19:51:04
  发帖心情 Post By:2017/5/10 9:54:34    Post IP:118.250.187.126[显示全部帖子]

以下是引用wenarm在2017/5/10 8:26:06的发言:

你这个算法没意义,在图表计算的模式下,

求Sum:=品种X收盘价*A+Sign*品种Y收盘价;

在历史每根k上,收盘价是定值,那么A和Sign的范围肯定是范围的最小值。压根没必要有上面的双重循环去计算。

逻辑上继续解释下,想求

Sum:=品种X收盘价*0.1+Sign*品种Y收盘价;
Sum:=品种X收盘价*0.2+Sign*品种Y收盘价;
Sum:=品种X收盘价*0.3+Sign*品种Y收盘价;
......
Sum:=品种X收盘价*100+Sign*品种Y收盘价;
中使得Sum最小的A值和Sign

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


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/4/7 19:51:04
  发帖心情 Post By:2017/5/10 13:03:28    Post IP:118.250.187.126[显示全部帖子]

以下是引用wenarm在2017/5/10 10:11:58的发言:

就是说,在k线的序列模式下,品种、收盘价是一个已经确定的值,在这个确定了close为定值上进行循环计算sum。

Sum:=品种X收盘价*0.1+Sign*品种Y收盘价;(肯定是a=0.1,Sign=-1时)其sum值最小。

            。。。
            。。。


老师说得是,这么看来逻辑上是的,计算品种收盘价加法Sum不是很恰当。。。


我换换吧,改成


Sum:=Pearson(品种X收盘价,N)+Sign*Pearson(品种Y收盘价,N);


Sum:=Pearson(品种X收盘价,N)*0.1+Sign*Pearson(品种Y收盘价,N);

Sum:=Pearson(品种X收盘价,N)*0.2+Sign*Pearson(品种Y收盘价,N);

Sum:=Pearson(品种X收盘价,N)*0.3+Sign*Pearson(品种Y收盘价,N);

Sum:=Pearson(品种X收盘价,N)*0.4+Sign*Pearson(品种Y收盘价,N);

......

Sum:=Pearson(品种X收盘价,N)*100+Sign*Pearson(品种Y收盘价,N);


求使Sum最小的A值和Sign


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


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/4/7 19:51:04
  发帖心情 Post By:2017/5/10 13:32:25    Post IP:118.250.187.126[显示全部帖子]

以下是引用水熊在2017/5/10 13:03:28的发言:

Sum:=Pearson(品种X收盘价,N)+Sign*Pearson(品种X收盘价+品种Y收盘价,N);


Sum:=Pearson(品种X收盘价,N)*0.1+Sign*Pearson(品种X收盘价+品种Y收盘价,N);

Sum:=Pearson(品种X收盘价,N)*0.2+Sign*Pearson(品种X收盘价+品种Y收盘价,N);

Sum:=Pearson(品种X收盘价,N)*0.3+Sign*Pearson(品种X收盘价+品种Y收盘价,N);

Sum:=Pearson(品种X收盘价,N)*0.4+Sign*Pearson(品种X收盘价+品种Y收盘价,N);

......

Sum:=Pearson(品种X收盘价,N)*100+Sign*Pearson(品种X收盘价+品种Y收盘价,N);


求使Sum最小的A值和Sign


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


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/4/7 19:51:04
  发帖心情 Post By:2017/5/10 13:58:45    Post IP:118.250.187.126[显示全部帖子]

以下是引用wenarm在2017/5/10 13:43:05的发言:

不知道你的思路逻辑,首先你要理解pel程序的机制,他本身就是循环计算每一根k线。如果你的0.1 ----100是对应k线数量的话,那就是对应barpos/10;

求一个k线数据段的最小值?

LOWRANGE( Sum)


逻辑是想一个单纯的数学运算


0.1-100,每次递增0.1,,到100截止


0.1+0.1+0.1

......


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


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/4/7 19:51:04
  发帖心情 Post By:2017/5/10 14:25:49    Post IP:118.250.187.126[显示全部帖子]

以下是引用wenarm在2017/5/10 14:00:34的发言:
首先,你的递增值得是在一根k上算1000次,还是说每根k算一次,每次变量加0.1算1000根



独立于K线计算能实现么?
不能独立于K线计算应该是一根K上算1000次


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


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/4/7 19:51:04
  发帖心情 Post By:2017/5/10 15:28:00    Post IP:118.250.187.126[显示全部帖子]

以下是引用wenarm在2017/5/10 14:32:39的发言:
建议你先理解策略在k上运行的机制。然后在考虑这些

k上运行机制,这次对不对了?

VARIABLE:A:=0;

for  A=0.1 to 1000 do
begin
if A>0 then

A=A+barpos/10;

end


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


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/4/7 19:51:04
  发帖心情 Post By:2017/5/11 23:36:35    Post IP:118.250.159.15[显示全部帖子]

以下是引用FexTel在2017/5/10 16:35:02的发言:

你要先理解使用平台的运行机制,才会更好理解自己程序运行的状态。

你上面的方式,就是一根k线上计算 (A=0.1 to 1000 )次。



还是不太能理解一根K线上计算1000次与1000根K线计算1000次对结果有什么影响?


用最简单的例子 ,求数组Array Close*A 的最小值,不考虑明显是Close*0.1 最小这个结果,
Array:=A*Close;

怎样用代码表达呢?


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


加好友 发短信
等级:新手上路 帖子:27 积分:0 威望:0 精华:0 注册:2017/4/7 19:51:04
  发帖心情 Post By:2017/5/14 22:22:24    Post IP:175.9.180.194[显示全部帖子]

向你请教一下 能给个完整的代码么

 回到顶部