以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]递增问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=152660)

--  作者:水熊
--  发布时间:2017/5/9 20:10:58
--  [求助]递增问题
请老师指点图片点击可在新窗口打开查看怎么进行递增的运算并返回结果

非常伪的代码

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











--  作者:wenarm
--  发布时间:2017/5/10 8:26:06
--  

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

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

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


--  作者:水熊
--  发布时间:2017/5/10 9:54:34
--  
以下是引用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

--  作者:wenarm
--  发布时间:2017/5/10 10:11:58
--  

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

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

            。。。
            。。。


 

[此贴子已经被作者于2017/5/10 10:18:28编辑过]

--  作者:水熊
--  发布时间:2017/5/10 13:03:28
--  
以下是引用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


--  作者:水熊
--  发布时间:2017/5/10 13:32:25
--  
以下是引用水熊在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


--  作者:wenarm
--  发布时间:2017/5/10 13:43:05
--  

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

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

LOWRANGE( Sum)


--  作者:水熊
--  发布时间:2017/5/10 13:58:45
--  
以下是引用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

......


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



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