以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [求助]请老师帮忙写个策略,谢谢!  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=81599)

--  作者:YY3067
--  发布时间:2015/7/24 14:17:42
--  [求助]请老师帮忙写个策略,谢谢!

模型原理  MACD  的平滑移动平均

 

周期分为两个部分  短周期  R1

                        长周期  R2

价格分为两个部分  阳线价格  L

                        阴线价格  H

 

R1内的K线总数=阳线(L)总数(n) + 阴线(H)总数(n)

计算为  R1=Ln+Hn

 

R2内的K线总数=阳线(L)总数(n) + 阴线(H)总数(n)

计算为  R2=Ln+Hn

 

R1 内的 L 的收盘价(C)的加权平均值(W1)计算为  W1={LC1 *LC1/(LC1+LC2+......LCn)}+{LC2 * [LC2/(LC1+LC2+......LCn)]}+......{LCn *[LCn/(LC1+LC2+......LCn)]}

R1内的 H 的收盘价(C)的加权平均值(W2)计算为  W2={HC1 *HC1/(HC1+LH2+......HCn)}+{HC2 * [HC2/(HC1+HC2+......HCn)]}+......{HCn *[HCn/(HC1+HC2+......HCn)]}

 

R2 内的 L 的收盘价(C)的加权平均值(W1)计算为  W3={LC1 *LC1/(LC1+LC2+......LCn)}+{LC2 * [LC2/(LC1+LC2+......LCn)]}+......{LCn *[LCn/(LC1+LC2+......LCn)]}

R2 内的 H 的收盘价(C)的加权平均值(W2)计算为  W4={HC1 *HC1/(HC1+LH2+......HCn)}+{HC2 * [HC2/(HC1+HC2+......HCn)]}+......{HCn *[HCn/(HC1+HC2+......HCn)]}

 

求: W1 W3  的差值的平滑移动平均  M1

         W2 W4  的差值的平滑移动平均  M2

 

   M1下穿M2  做空

M1上穿M2  做多

 


--  作者:jinzhe
--  发布时间:2015/7/24 14:23:37
--  

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=81502&page=2

在这里写过啊


--  作者:YY3067
--  发布时间:2015/7/24 14:27:39
--  
是的,但是当时是固定的一个周期,并且只针对周期内的加权价

我现在想要一个短周期和长周期的差值的移动平均,跟之前的那个不一样

--  作者:jinzhe
--  发布时间:2015/7/24 14:33:32
--  

你的R1和R2是一个计算方式吗?R1和R2是一个结果吗?

[此贴子已经被作者于2015/7/24 14:36:39编辑过]

--  作者:YY3067
--  发布时间:2015/7/24 14:37:23
--  
阳线M1    短周期加权  W1  和长周期加权  W3  的差值
阴线M2   短周期加权   W2  和长周期加权  W4  的差值



--  作者:jinzhe
--  发布时间:2015/7/24 14:40:00
--  
R1和R2呢?同一个计算结果吗?
--  作者:YY3067
--  发布时间:2015/7/24 14:42:08
--  
R1  是一个短的周期 
R2  是一个长的周期
两个周期是不同的

分别提取这两个不同周期内的阳线之间的加权  和阴线之间的加权

--  作者:jinzhe
--  发布时间:2015/7/24 14:42:54
--  
那么分别是多少?
--  作者:YY3067
--  发布时间:2015/7/24 14:43:37
--  
周期参数老师可以自己先设一个   只要公式能够写出来就好
--  作者:pyd
--  发布时间:2015/7/24 15:11:40
--  

n:=20;
m:=50;
x1:=if(isup,c,0);
y1:=if(isdown,c,0);
w1:=sum(x1,n)*sum(x1,n);
w2:=sum(y1,n)*sum(y1,n);

x2:=if(isup,c,0);
y2:=if(isdown,c,0);
w3:=sum(x2,m)*sum(x2,m);
w4:=sum(y2,m)*sum(y2,m);

m1:=ma(w1-w3,n);
m2:=ma(w2-w4,m);

if cross(m2,m1) then begin

    sell(1,0,market);

    buyshort(holding=0,1,market);

end

 

if cross(m1,m2) then begin

    sellshort(1,0,market);

    buy(holding=0,1,market);

end