Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]请老师帮忙写个策略

1楼
YY3067 发表于:2015/7/22 10:37:30
1、计算N1个周期内收盘价的加权平均值D1
     计算N1个周期内阳线收盘价的加权平均P1与N1个周期内阴线收盘价的加权平均P2
     通过计算得出一个M1=D1*|S1/S2|
2、计算N2个周期内收盘价的加权平均值D2
     计算N2个周期内阳线收盘价的加权平均P3与N个周期内阴线收盘价的加权平均P4
     通过计算得出一个M2=D2*|P3/P4|
3、当M1上穿M2,做多
     当M1下穿M2,做空
2楼
jinzhe 发表于:2015/7/22 10:41:50
请稍等,正在处理
3楼
jinzhe 发表于:2015/7/22 10:53:56

{1、计算N1个周期内收盘价的加权平均值D1
     计算N1个周期内阳线收盘价的加权平均P1与N1个周期内阴线收盘价的加权平均P2
     通过计算得出一个M1=D1*|S1/S2|

2、计算N2个周期内收盘价的加权平均值D2
     计算N2个周期内阳线收盘价的加权平均P3与N个周期内阴线收盘价的加权平均P4
     通过计算得出一个M2=D2*|P3/P4|
3、当M1上穿M2,做多
     当M1下穿M2,做空 }
input:n1(5),n2(10);
d1:=wma(c,n1);
cc:=if(isup,c,0);
dd:=if(isdown,c,0);
p1:=wma(cc,n1);
p2:=wma(dd,n1);
m1:=d1*(p1/p2);

d2:=wma(c,n2);
p3:=wma(cc,n2);
p4:=wma(dd,n2);
m2:=d2*(p3/p4);

if cross(m1,m2) then begin
 sellshort(1,0,market);
 buy(holding=0,1,market);
end

if cross(m2,m1) then begin
 sell(1,0,market);
 buyshort(holding=0,1,market);
end
 

4楼
YY3067 发表于:2015/7/22 10:59:29
老师,刚才忘记了加一个周期参数R
考察在R内的M1 M2的交叉情况
不好意思  谢谢啦
5楼
jinzhe 发表于:2015/7/22 11:11:06
怎么考察?标准是什么?
6楼
YY3067 发表于:2015/7/22 11:19:00
周期R内  M1上穿M2  做多
            M1下穿M2  做空
7楼
jinzhe 发表于:2015/7/22 11:21:51

r:=10;

if barslast(cross(m1,m2))<=r then begin
 sellshort(1,0,market);
 buy(holding=0,1,market);
end

if barslast(cross(m2,m1))<=r then begin
 sell(1,0,market);
 buyshort(holding=0,1,market);
end

8楼
YY3067 发表于:2015/7/22 13:47:10
老师   这个策略该怎么写?

一个周期(R)内的K线总数=阳线(L)总数(n) + 阴线(H)总数(n)
计算为  R=Ln+Hn
R 内的 L 的收盘价(C)的加权平均值(W1)计算为  W1={LC1 *[LC1/(LC1+LC2+......LCn)]}+{LC2 * [LC2/(LC1+LC2+......LCn)]}+......{LCn *[LCn/(LC1+LC2+......LCn)]}
R 内的 H 的收盘价(C)的加权平均值(W2)计算为  W2={HC1 *[HC1/(HC1+LH2+......HCn)]}+{HC2 * [HC2/(HC1+HC2+......HCn)]}+......{HCn *[HCn/(HC1+HC2+......HCn)]}
R 内的多头价  P1=W1*(W1/W2)
R 内的空头价  P2=W2*(W2/W1)

P1下穿P2  做空
P1上穿P2  做多



9楼
jinzhe 发表于:2015/7/22 13:52:59

n:=20

xx:=if(isup,c,0);

yy:=if(isdown,c,0);

w1:=sum(xx,n)*sum(xx,n);

w2:=sum(yy,n)*sum(yy,n);

 

p1:=w1*(w1/w2);

p2:=w2*(w2/w1);

 

if cross(p2,p1) then begin

    sell(1,0,market);

    buyshort(holding=0,1,market);

end

 

if cross(p1,p2) then begin

    sellshort(1,0,market);

    buy(holding=0,1,market);

end

10楼
YY3067 发表于:2015/7/22 14:22:27
老师  我想把开仓和平仓条件加进去  要怎么写

开仓条件  当根K线开盘价建仓
平仓条件  当根K线收盘间平仓

谢谢老师!
共11 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.01953 s, 3 queries.