以文本方式查看主题

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

--  作者:lufuding
--  发布时间:2013/6/29 13:39:11
--  求助一个算法

A:ref(wma(c,10),1);

b:wma(c,10);

 

1求当前的最新价C要上涨多少个点才能让B-A>1

 

2求当前的最新价C要下跌多少个点才能让B-A<1

 


--  作者:qwer123
--  发布时间:2013/6/29 15:03:49
--  
b-a=9*c0+8*c1+7*c2+6*c3+5*c4+4*c5+3*c6+2*c7+c8+1
               -9*c1-8*c2-7*c3-6*c4-5*c5-4*c6-3*c7-2*c8-c9-1
     =9*c0-c1-c2-c3-c4-c5-c6-c7-c8-c9=1
9*c0=c1+c2+c3+c4+c5+c6+c7+c8+c9+1
c0:=(ref(c,1)+ref(c,2)+ref(c,3)+ref(c,4)+ref(c,5)+ref(c,6)+ref(c,7)+ref(c,8)+ref(c,9)+1)/9

--  作者:lufuding
--  发布时间:2013/6/29 17:03:34
--  
以下是引用qwer123在2013/6/29 15:03:49的发言:
b-a=9*c0+8*c1+7*c2+6*c3+5*c4+4*c5+3*c6+2*c7+c8+1
               -9*c1-8*c2-7*c3-6*c4-5*c5-4*c6-3*c7-2*c8-c9-1
     =9*c0-c1-c2-c3-c4-c5-c6-c7-c8-c9=1
9*c0=c1+c2+c3+c4+c5+c6+c7+c8+c9+1
c0:=(ref(c,1)+ref(c,2)+ref(c,3)+ref(c,4)+ref(c,5)+ref(c,6)+ref(c,7)+ref(c,8)+ref(c,9)+1)/9

 

 

通不过啊?

到底怎么用啊?

请指教


--  作者:qwer123
--  发布时间:2013/6/29 17:50:16
--  
b-a=9*c0+8*c1+7*c2+6*c3+5*c4+4*c5+3*c6+2*c7+c8+1
               -9*c1-8*c2-7*c3-6*c4-5*c5-4*c6-3*c7-2*c8-c9-1
     =9*c0-c1-c2-c3-c4-c5-c6-c7-c8-c9=1
9*c0=c1+c2+c3+c4+c5+c6+c7+c8+c9+1

这个是告诉你怎么计算b-a=1时的c0价格

c0:=(ref(c,1)+ref(c,2)+ref(c,3)+ref(c,4)+ref(c,5)+ref(c,6)+ref(c,7)+ref(c,8)+ref(c,9)+1)/9

这句是用在金字塔程序里,当b-a=1时,最后一根k线的收盘价应该是多少的计算公式。
方法就是这个方法,中间过程有没有错你自己检查。

--  作者:lufuding
--  发布时间:2013/6/30 0:16:56
--  

上面表达有误,再请帮一下忙

 

意思是这样

 

b:wma(c,10);

 

1以ref(b,1)为基准,计算当的最新价C要上涨多少个点才能让B>ref(b,1)+1(计算最新价C与REF(B,1)的差)

2以ref(b,1)为基准,计算当的最新价C要下跌多少个点才能让B<ref(b,1)-1(计算最新价绝对值C与REF(B,1)的差)

 

请参考下图

 


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

--  作者:qwer123
--  发布时间:2013/6/30 10:18:00
--  
我觉得你没有必要求出满足条件时的点数,把 b-a>=1 做为条件就可以了,如果你确实需要b-a>=1时的close值,可以在程序里直接得到

variable:a1=1;
if b-a>=1 and a1>0 then
     begin
     a2:=c;
     a1:=-1;
     end

然后再根据逻辑关系给a1赋值1就可以得到满足条件时的c值了。
a2就是你要求的值。


--  作者:lufuding
--  发布时间:2013/6/30 14:10:26
--  
以下是引用qwer123在2013/6/30 10:18:00的发言:
我觉得你没有必要求出满足条件时的点数,把 b-a>=1 做为条件就可以了,如果你确实需要b-a>=1时的close值,可以在程序里直接得到

variable:a1=1;
if b-a>=1 and a1>0 then
     begin
     a2:=c;
     a1:=-1;
     end

然后再根据逻辑关系给a1赋值1就可以得到满足条件时的c值了。
a2就是你要求的值。

 

 

非常感谢谢你的耐心回复

 

首先我说明一下,我是30分钟周期策略,我现在用的是B-A>1,作为触发,当根K线信号会闪烁,没办法只能用条件满足后次周期开盘价发单,这也是大家通常用的方法,这种方法偏离触发位置实在是太远(比如:以现在的最新价再上涨20个点就满足开多,但等K线走完离触发时的值有60个点)

 

如果,在B-A<1时已经算好B-A>=1时值,等待H上涨来实时触发(这个值是不会变动的,固信号不会闪,)

这样能实现吗

 

 


--  作者:qwer123
--  发布时间:2013/6/30 17:16:49
--  
这个肯定可以办的到,需要一点点编程技巧。
if h>=a2 then
这么一个简单的语句就可以了.


--  作者:qwer123
--  发布时间:2013/6/30 17:23:22
--  
如果使用图表交易,你还是先计算c0.
--  作者:lufuding
--  发布时间:2013/6/30 19:10:49
--  
以下是引用qwer123在2013/6/30 17:23:22的发言:
如果使用图表交易,你还是先计算c0.

 

实在是不能理解您所说的C0跟B:WMA(C,10)有什么关系

 

C0好像就是9日收盘平均而是吧

 

如果我把变量换成MACDR指标,那又没法弄了