variable:n=0,m=0;
diff:=stkindi('','macd.diff',0,24,4);
dea:=stkindi('','macd.dea',0,24,4);
k:=stkindi('','kdj.k',0,datatype);
d:=stkindi('','kdj.d',0,datatype);
金叉:=cross(diff,dea);
死叉:=cross(dea,diff);
if 金叉 or 死叉 then begin
n:=0;
m:=0;
end
if k<25 then n:=n+1;
if k>75 then m:=m+1;
if n=1 then begin
buy(holding<=0,1,marketr);
end
if C-AVGENTERPRICE>10 then begin
sell(1,0,marketr);
end
IF AVGENTERPRICE-C>6 THEN BEGIN
SELL(1,HOLDING,MARKET);
end
请问为什么后面macd金叉以后KD的K值,在第一个K值到了25以下后,后面还会有开多信号呢,哪里写的有问题啊
说明后面的k没有小于25的,导致n的值一直是1,所以平仓之后满足条件会再开仓
请问那怎么写啊,就是金叉后K小于25只做一次,那怎么写啊
if n=1 and ref(n,1)=0 then begin
buy(holding<=0,1,marketr);
end
就改这一句