以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  请帮忙编写开仓条件的程序,谢谢  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=173582)

--  作者:*253972059
--  发布时间:2019/12/17 11:50:19
--  请帮忙编写开仓条件的程序,谢谢


 

请帮忙编写开仓条件的程序,谢谢

开仓:条件1:这K线涨幅大于6%,

      条件2均线5.8.13.21.34的当前价格都在条件1那根K线的最低价到最高价里面时显示买入信号, 如下图、圆圈里那根K线,和均线的状态,就是开多条件。

平仓条件:用最下面的条件公式平仓





 

VARIABLE:kd=0,kk=0;

m:=10;

MID=(3*CLOSE+LOW+OPEN+HIGH)/6;  

DDD=(20*MID+19*REF(MID1)+18*REF(MID2)+17*REF(MID3)+

16*REF(MID4)+15*REF(MID5)+14*REF(MID6)+

13*REF(MID7)+12*REF(MID8)+11*REF(MID9)+

10*REF(MID10)+9*REF(MID11)+8*REF(MID12)+

7*REF(MID13)+6*REF(MID14)+5*REF(MID15)+

4*REF(MID16)+3*REF(MID17)+2*REF(MID18)+REF(MID20))/210,COLORYELLOW{NODRAW};   //NODRAW  这个代码是不显示指标线


 

MADDD=MA(DDDM),{NODRAW};  //NODRAW  这个代码是不限是该划线;

jc:=cross(DDD,MADDD);

sc:=cross(MADDD,DDD);



 

if sc then

begin

sell(holding>0,holding,market)COLORYELLOW;    //平多语句

end





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

--  作者:FireScript
--  发布时间:2019/12/17 13:17:20
--  
 zf:c-ref(c,1);//涨幅。
ma5:ma(c,5);
ma8:ma(c,8);
//其他均线可自行补齐下

cd1:zf>0.06;//涨幅大于6%
cd2:RANGE(ma5,l,h) and range(ma8,l,h);//2条均线都在L到H之间。
--  作者:*253972059
--  发布时间:2019/12/17 15:32:06
--  我加载公式以后,看到没有过滤涨幅(超过6%),就直接开多了,

 //我加载公式以后,看到没有过滤涨幅(超过6%),就直接开多了, 如下图

 

zf:c-ref(c,1);//涨幅。
ma5:ma(c,5);
ma8:ma(c,8);
ma13:ma(c,13);
ma21:ma(c,21);
ma34:ma(c,34);
//其他均线可自行补齐下

cd1:zf>0.06;//涨幅大于6%
cd2:RANGE(ma5,l,h) and range(ma8,l,h)   and range(ma13,l,h)     and range(ma21,l,h)     and range(ma34,l,h)   ;//2条均线都在L到H之间。


m:=10;
MID:=(3*CLOSE+LOW+OPEN+HIGH)/6; 
DDD:=(20*MID+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+
16*REF(MID,4)+15*REF(MID,5)+14*REF(MID,6)+
13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+
10*REF(MID,10)+9*REF(MID,11)+8*REF(MID,12)+
7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+
4*REF(MID,16)+3*REF(MID,17)+2*REF(MID,18)+REF(MID,20))/210,COLORYELLOW{NODRAW};   //NODRAW  这个代码是不限是该划线

MADDD:=MA(DDD,M),{NODRAW};  //NODRAW  这个代码是不限是该划线;
jc:=cross(DDD,MADDD);
sc:=cross(MADDD,DDD);

if cd1 and cd2  then
begin
buy(holding=0,1,market)  ,COLORYELLOW;    //开多语句
end

if sc then
begin
sell(holding>0,holding,market) ,COLORYELLOW;  //平多语句
end


此主题相关图片如下:111111111.png
按此在新窗口浏览图片

--  作者:FireScript
--  发布时间:2019/12/17 15:41:01
--  
 你是要涨幅大于6%开仓还是小于。上面代码就是按照大于6% 处理的。

--  作者:*253972059
--  发布时间:2019/12/17 15:49:06
--  我要的就是大于6%,您看下附图,谢谢

我要的就是大于6%  但是你对照一下,下面图上的开多信号,开多那根K线 涨幅没有6%,股票代码是 600580   信号开多时间是 2018年11月27号,     公式在下面,您可以直接导入公式看下,谢谢

 

zf:c-ref(c,1);//涨幅。
ma5:ma(c,5);
ma8:ma(c,8);
ma13:ma(c,13);
ma21:ma(c,21);
ma34:ma(c,34);
//其他均线可自行补齐下

cd1:zf>0.06;//涨幅大于6%
cd2:RANGE(ma5,l,h) and range(ma8,l,h)   and range(ma13,l,h)     and range(ma21,l,h)     and range(ma34,l,h)   ;//2条均线都在L到H之间。


m:=10;
MID:=(3*CLOSE+LOW+OPEN+HIGH)/6; 
DDD:=(20*MID+19*REF(MID,1)+18*REF(MID,2)+17*REF(MID,3)+
16*REF(MID,4)+15*REF(MID,5)+14*REF(MID,6)+
13*REF(MID,7)+12*REF(MID,8)+11*REF(MID,9)+
10*REF(MID,10)+9*REF(MID,11)+8*REF(MID,12)+
7*REF(MID,13)+6*REF(MID,14)+5*REF(MID,15)+
4*REF(MID,16)+3*REF(MID,17)+2*REF(MID,18)+REF(MID,20))/210,COLORYELLOW{NODRAW};   //NODRAW  这个代码是不限是该划线

MADDD:=MA(DDD,M),{NODRAW};  //NODRAW  这个代码是不限是该划线;
jc:=cross(DDD,MADDD);
sc:=cross(MADDD,DDD);

if cd1 and cd2  then
begin
buy(holding=0,1,market)  ,COLORYELLOW;    //开多语句
end

if sc then
begin
sell(holding>0,holding,market) ,COLORYELLOW;  //平多语句
end


此主题相关图片如下:111111111.png
按此在新窗口浏览图片

--  作者:FireScript
--  发布时间:2019/12/17 15:53:16
--  
 zf:(c-ref(c,1))/ref(c,1);//涨幅。
抱歉,涨幅我写错了。
[此贴子已经被作者于2019/12/17 15:56:19编辑过]

--  作者:*253972059
--  发布时间:2019/12/17 16:09:21
--  还是不对,

还是不太对, 涨幅小的过滤了,但是涨幅    下图的股票涨幅超过了6%也没开仓,股票代码是 600580    2018年11月27号,    

 


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

--  作者:FireScript
--  发布时间:2019/12/17 16:22:30
--  
 是因为这个涨幅是按照。今天的收盘价和昨日收盘价 计算的。盘口的算法也是按照这个算的。 而你标识的那个如果是按照开盘价,收盘价的方式去计算才会是符合的。

另外你这个标识的位置3是哪个日期的,18年11月27貌似不是这个K 吧。

--  作者:*253972059
--  发布时间:2019/12/17 16:46:36
--  2、那就请您按照开盘价,收盘价的方式去计算,写下公式谢谢

1、日期是2019.2.1 号

2、那就请您按照开盘价,收盘价的方式去计算,写下公式谢谢

 



--  作者:yukizzc
--  发布时间:2019/12/17 19:32:59
--  

2019.2.1 号这一天涨幅没有超过6

另外你的zf是不是改成zf:(c-ref(c,1))/ref(c,1);//涨幅。

这个了,如果改的对的话那么是不会有信号的