等级: 免费版
- 注册:
- 2022-1-7
- 曾用名:
|

楼主 |
发表于 2022-2-7 12:52
|
显示全部楼层
但是肉眼看开平信号就不止五个呀,这明显有问题的呢,发给你你看看吧,您看怎么添加一下您刚刚说的
A:=stkindi('','atr.atr',0,6,-1);
手数:=1;
pc:=0;
//N:=BARSLAST(DATE<>REF(DATE,1))+1;
N:=BARPOS;
VARIABLE:o_r[]=0;
VARIABLE:s_g[]=0;
VARIABLE:o_m[]=0;
VARIABLE:p[]=0;
if N=1 then
begin
SETUBOUND(o_r,0);
SETUBOUND(s_g,0);
SETUBOUND(o_m,0);
SETUBOUND(p,0);
end
n3:=UBOUND(o_r);
IF N3>0 THEN
BEGIN
for i=1 to n3 do
begin
if p[i]=1 and close>s_g[i] then begin SELL(1,手数,MARKET);
pc:=1;
p[i]:=0;
CONTINUE;
end
//止盈
if p[i]=2 and close>s_g[i] then begin SELL(1,手数,MARKET);
pc:=1;
p[i]:=0;CONTINUE;
end
//止盈
if p[i]=1 and close<o_m[i] then begin BUY(1,手数,MARKET);
p[i]:=2;
o_r:=o_m[i];
s_g:=o_r+a/8;
o_m:=o_r-a/4;
p:=1;
end
//加仓
if p[i]=1 and TIME>185500 then
begin
SELL(1,手数,MARKET);
pc:=1;
p[i]:=5;
end
//收盘平仓
if p[i]=2 and TIME>185500 then
begin
SELL(1,手数,MARKET);
pc:=1;
p[i]:=5;
end
//收盘平仓
end end
n1:=BARSLAST(pc=1)+1;
IF valid(n1)=0 OR n1>N then n2:=N;
else n2:=n1 ;
zg:=HHV(c,N2);
IF N3>0 THEN BEGIN
for i=1 to n3 do
begin if p[i]=0 and close<zg-a/4 and time<185000 then
begin BUY(1,手数,MARKET);
for j=i to n3 do p[j]:=4;
o_r:=zg-a/4;
s_g:=o_r+a/8;
o_m:=o_r-a/4;
p:=1;
end end end IF N3=0 THEN BEGIN if c<zg-a/4 and time<185000 then
begin
BUY(1,手数,MARKET);
o_r:=zg-a/4;
s_g:=o_r+a/8;
o_m:=o_r-a/4;
p:=1;
end end |
|