inputs: Price( Close ), Length1( 5 ),length2(15); var:barnum(0),barnum1(0); var:start(false),start1(False); value1=Average(price,length1); value2=Average(price,length2); if value1 cross over value2 then begin start=true; end; if value1 cross under value2 then begin value3=text_new(date,time,high,numtostr(barnum,0)); barnum=0; start=false; end; if start=true then begin barnum=barnum+1; end; if value1 cross under value2 then begin start1=true; end; if value1 cross over value2 then begin value3=text_new(date,time,high,numtostr(barnum1,0)); barnum1=0; start1=false; end; if start1=true then begin barnum1=barnum1+1; end; 以上是计算5日线交叉15日线开始计数到再交叉为止的K线数量。 但以下语言不行,为什么一定要用bool。 var:start(0), start1(0), barnum(0), barnum1(0); value1=Average(c,5); value2=Average(c,15); if value1 cross over value2 then begin start=1; end; if value1 cross under value2 then begin barnum=0; start=0; value10=text_new(date,time,high,numtostr(barnum,0)); end; if start=1 then begin barnum=barnum+1; end; if value1 cross under value2 then begin start1=1; end; if value1 cross over value2 then begin barnum1=0; start1=0; value11=text_new(date,time,low,numtostr(barnum1,0)); end; if start1=1 then begin barnum1=barnum1+1; end;