请帮忙编写开仓条件的程序,谢谢
条件1:K线涨幅>=5% // 备注:这根K线在条件3中叫“第一根K线”。
条件2:在条件1符合后,之后的20天内,再出现一根涨幅>=6%的k线, //备注:这根K线在条件3中叫他“第二根K线”。
条件3:第二根K线收盘价大于第一根K线最低价
以上三个条件都满足,显示开多信号
如下图所示:需要在第二根K线开多
我把您写的条件 加到我的公式里,怎么什么信号都没有呢, 公式如下
zf:(c-ref(c,1))/ref(c,1);//涨幅。
cd1:zf>=0.05;
cd2:zf>=0.06 and count(cd1,20)>=1;
len:BARSLAST(cd1);
result:cd2 and c>ref(c,len);
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 result then
begin
buy(holding=0,1,market) ,COLORYELLOW; //开多语句
end
if sc then
begin
sell(holding>0,holding,market) ,COLORYELLOW; //平多语句
end
条件2:在条件1符合后,之后的20天内,再出现一根涨幅>=6%的k线, //备注:这根K线在条件3中叫他“第二根K线”。
”