一个语言编写问题。为什么一定要用bool

Discussion in 'TradeStation' started by nuyoahz77, Feb 12, 2011.

  1. 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;
     
  2. 我不知道你说的不行是指什么,我把第二段编译了一下,没有任何问题。
     
  3. 编译是通过了,但图表上显示的都是0
     
  4. 你第二段代码把
    barnum1=0;
    start1=0;
    放到了value11=text_new(date,time,low,numtostr(barnum1,0));之前,当然画的都是0了
     
  5. 恩,谢谢。