发一个神仙系统,有未来函数的,不能使用的,想请客服确认下,是写得有问题,还是系统的问题,谢谢!
input :lots(1,1,1000,1);
input : N(1,0.1,60,0.1);
variable: harr[30]=0,larr[30]=0,bharr[30]=0,blarr[30]=0;
variable : tl=0,th = 0;
//60日均线
M250:MA(CLOSE,250);
//MACD
DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA := EMA(DIFF,9);
MACD := 2*(DIFF-DEA);
//ZIG转向
ZIG(4,N);
//求前25 个高低点
for i = 1 to 5 do begin
bharr[i] := PeakBars(4,N,i);
blarr[i] := TroughBars(4,N,i);
harr[i] := PEAK(4,N,i);
larr[i] := Trough(4,N,i);
end;
//开多条件:低点一个比一个高,当前低点的第三个K开仓,低点更靠近当前
duo1 := (bharr[1] > blarr[1]) and (larr[1] >= larr[2]) and (larr[2] >= larr[3]) and( blarr[1] = 2);
kong1 := (bharr[1] < blarr[1]) and (harr[1] <= harr[2]) and (harr[2] <= harr[3]) and( bharr[1] = 2);
//开仓
if (duo1) then begin;
buy (1, lots, marketr);
tl := larr[1];
end;
if (kong1) then begin;
BUYSHORT (1,lots ,marketr );
th :=harr[1];
end;
//平仓条件:多平:最近的已经形成高点
pduo1 := (bharr[1] < blarr[1]) and ( bharr[1] =2) and holding > 0;
pkong1 :=(bharr[1] > blarr[1]) and ( blarr[1] =2) and holding < 0;
sell (pduo1,0,marketr);
sellshort(pkong1,0,marketr);
持仓:holding,linethick0;
//资产:asset,noaxis;
可用现金:cash(0),linethick0;
这其中的
(larr[1] >= larr[2]) and (larr[2] >= larr[3]) 如果将>=改成>,就找不到一个条件成立,实际上确有很多,请问是什么问题?
超然--深圳(394234109) 10:21:00
而如果用>=,确有很多不合条件的,我是百思不得其解,请金字塔技术帮助分析下是什么问题?是不是我编程的问题,谢谢
!也请高手一并指教
我试着调试了一下larr[1] larr[2] larr[3]这3个值都是一样大小的
larr1:PeakBars(4,n,1);
larr2:PeakBars(4,n,2);
larr3:PeakBars(4,n,3);
......
larrI:PeakBars(4,n,I);
PeakBars 等这类未来函数,是不能通过变量来调用的,放在FOR里是没用的
想来了,这个在序列模式下是正常的,在逐K模式下,应该怎么写,如果要求30个高低点,难道要设60个变量?