以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  改写下 回调5日线买入  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=144999)

--  作者:xiangquzi
--  发布时间:2016/12/20 14:05:43
--  改写下 回调5日线买入

 

HA:=stkindi(\'\',\'YY.ss\',0,5);
HB:=stkindi(\'\',\'YY.60up\',0,5);
HC:=stkindi(\'\',\'YY.60down\',0,5);
HD:=stkindi(\'\',\'YY.zx\',0,5);
HE:=stkindi(\'\',\'YY.MA5\',0,5);
HF:=stkindi(\'\',\'YY.MA10\',0,5);
HG:=stkindi(\'\',\'YY.MA20\',0,5);
HI:=stkindi(\'\',\'YY.MA40\',0,5);
HO:=stkindi(\'\',\'YY.HH\',0,5);
HP:=stkindi(\'\',\'YY.LL\',0,5);
HN:=stkindi(\'\',\'YY.CL\',0,5);

 


60DUO:=HP<MIN(MIN(HE,HF),MIN(HG,HI))&&CROSS(HN,HE)&&CROSS(HN,HF)&&CROSS(HN,HG)&&CROSS(HN,HI)&&HF>REF(HF,1)&&HG>REF(HG,1);
60KONG:=HO>MAX(MAX(HE,HF),MAX(HG,HI))&&CROSS(HE,HN)&&CROSS(HF,HN)&&CROSS(HG,HN)&&CROSS(HI,HN)&&HF<REF(HF,1)&&HG<REF(HG,1);


IF(HA>0,HA,NULL),CIRCLEDOT,COLORYELLOW;

variable:bj=0;
zx:=stkindi(\'\',\'YY.zx\',0,5);
if zx=1 then bj:=1;
if zx=-1 then bj:=-1;


MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);
MA20:MA(CLOSE,20);
MA40:MA(CLOSE,40);
SS:=SAR(P,STEP,MAXP);
SZ:=SARTURN(10,4,20);


A:=MA5>=MA10&&MA10>MA20&&MA5>REF(MA5,1)&&MA10>REF(MA10,1); //4条均线多头排列,且价格在均线之上
B:=MA5<=MA10&&MA10<MA20&&MA5<REF(MA5,1)&&MA10<REF(MA10,1) ; //4条均线空头排列,且价格在均线之下
AA:=MA10>MA20&&MA20>MA40&&MA20>REF(MA20,1)&&MA40>REF(MA40,1);
BB:=MA10<MA20&&MA20<MA40&&MA20<REF(MA20,1)&&MA40<REF(MA40,1);
CC:=LOW<MIN(MIN(MA5,MA10),MIN(MA20,MA40))&&CROSS(CLOSE,MA5)&&CROSS(CLOSE,10)&&CROSS(CLOSE,20)&&CROSS(CLOSE,40)&&MA10>REF(MA10,1)&&MA20>REF(MA20,1);
DD:=HIGH>MAX(MAX(MA5,MA10),MAX(MA20,MA40))&&CROSS(MA5,CLOSE)&&CROSS(MA10,CLOSE)&&CROSS(MA20,CLOSE)&&CROSS(MA40,CLOSE)&&MA10<REF(MA10,1)&&MA20<REF(MA20,1);

KAA:=IF(AA,1,0);
KBB:=IF(BB,1,0);
D:=(HIGH+LOW+O+2*C)/5;

   
   

 

 

IF 60DUO &&HOLDING<0 AND BJ=1  THEN BEGIN

   平空k: SELLSHORT(1,HOLDING,LIMITR,CLOSE); //平空
  开多k: BUY(1,1,LIMITR,CLOSE);  //开多单
   END
IF 60DUO && HOLDING=0 AND BJ=1 THEN

 开多kk: BUY(1,1,LIMITR,CLOSE);  //开多单


IF CC&&HOLDING=0 and ss>0 THEN

  开多l:BUY(1,1,LIMITR,CLOSE);  //开多

 

IF BJ=1&&HB&&A&&ISUP&&CLOSE>REF(L+(H-L)*2/3,1) AND SS>0&& HOLDING=0 THEN

  开多M:BUY(1,1,LIMITR,CLOSE);  //开多
 

 

IF HOLDING>0&&bb=-1 THEN

   平多p: SELL(1,HOLDING,LIMITR,CLOSE); //平多
   
IF HOLDING>0&&CROSS(MA10,MA5)   THEN

   平多g: SELL(1,HOLDING,LIMITR,CLOSE); //平多

       
IF 60KONG AND HOLDING>0 and bj=-1 THEN begin
  平多n: SELL(1,HOLDING,LIMITR,CLOSE); //平多
   开空n:BUYSHORT(1,1,LIMITR,CLOSE);  //开空单
   end
IF 60KONG AND HOLDING=0 AND BJ=-1  THEN
  开空nn: BUYSHORT(1,1,LIMITR,CLOSE);  //开空单
  
IF DD&& HOLDING=0 AND BJ=-1  THEN

   开空o: BUYSHORT(1,1,LIMITR,CLOSE);  //开空单  
  
  
 IF HC&&bj=-1&&b&&ISDOWN&&CLOSE<REF(L+(H-L)/3,1) AND HOLDING=0 THEN

   开空f: BUYSHORT(1,1,LIMITR,CLOSE);  //开空单 
  
  
 IF HOLDING<0 and  CROSS(MA5,MA10)  THEN
 
    平空e:SELLSHORT(1,HOLDING,LIMITR,CLOSE);
   
    

 

 


--  作者:xiangquzi
--  发布时间:2016/12/20 14:06:57
--  

我自己改写了开多m 竟然消失了所有的m  搞不懂 啥原因

 

variable:nnm:=0;

 

nnm:=barslast(BJ=1&&HB&&A&&ISUP&&CLOSE>REF(L+(H-L)*2/3,1) AND SS>0&& HOLDING=0)
if nnm>=1 and nnm<=3 and nnm=0 and l-0.02<ma5 then begin
开多m1: BUY(1,1,LIMITR,CLOSE); //开多
nnm:=1;
end
if nnm>=4 then nnm=0;
kkk:nnm;
lll:nnm;


--  作者:xiangquzi
--  发布时间:2016/12/20 14:07:20
--  
请帮忙改写上面的m和f  谢谢 
--  作者:jinzhe
--  发布时间:2016/12/20 14:25:40
--  

缺少:1  YY公式

         2  P ,STEP等参数定义


--  作者:xiangquzi
--  发布时间:2016/12/20 14:47:25
--  

要求:

1平仓用走完k 后下单,

2开仓用回调到5日线处  不用加或者减其他的数  最好用l 或者h 如我上上贴我写的m

3尽量改写全部

谢谢

 

模式为轮询5秒


--  作者:jinzhe
--  发布时间:2016/12/20 14:51:14
--  

nnm>=1 and nnm<=3 and nnm=0

这句话是什么意思?既要nnm在1到3之间,又要nnm等于0?


--  作者:xiangquzi
--  发布时间:2016/12/20 14:56:32
--  
那我写错了,变量nnm重复了
[此贴子已经被作者于2016-12-20 14:57:35编辑过]

--  作者:jinzhe
--  发布时间:2016/12/20 14:59:11
--  
那么你这段要表达什么意思?
--  作者:xiangquzi
--  发布时间:2016/12/20 15:03:57
--  

开仓用回调到5日线处   只开一次  后面满足回调到5日  不再开


--  作者:xiangquzi
--  发布时间:2016/12/20 15:06:03
--  

variable:nnm1:=0;

nnm:=barslast(BJ=1&&HB&&A&&ISUP&&CLOSE>REF(L+(H-L)*2/3,1) AND SS>0&& HOLDING=0)
 if nnm>=1 and nnm<=3 and nnm1=0 and l-0.02<ma5 then begin
 开多m1: BUY(1,1,LIMITR,CLOSE);  //开多
nnm1:=1;
end
if nnm>=4 then nnm1=0; 
 kkk:nnm;
 lll:nnm1;

 

我这样写  怎么提示我,nnm未定义的变量

[此贴子已经被作者于2016-12-20 15:06:51编辑过]