I'm try It 
but maybe I'm made and error
Because the give to me nothing

      my last 3 line in MetaStock
     In AB
     
      Bon:=

      If(C>HautP AND C>BasP,5, If(C<BasP,0,PREV)) ;

      Bon
     Bon =

      result = 0; 

      for( i = 1; i < BarCount; i++ )

      { 

      prev = result[ i - 1]; 

      result[ i ] = IIf( C[ i ] > HautP[ i ] 

      AND C[ i ] > BasP[ i ], 5,

      IIf( C[ i ] < BasP[ i ], 0, prev ) ); 

      } ;

      Plot(Bon,"",colorBlue,styleThick);
     




Thank

Merci
 
YLTech ( Yves L. )
 
Le présent message et les documents qui y sont joints sont réservés 
exclusivement au destinataire indiqué. Il est strictement interdit d'en 
utiliser ou d'en divulguer le contenu. Si vous recevez le présent message par 
erreur, veuillez le détruire S.V.P. et nous en aviser immédiatement afin que 
nous puissions corriger nos dossiers. Merci.
 
This message and the attached documents may contain privileged or confidential 
information that are intended to the addressee only. Any unauthorized 
disclosure is strictly prohibited. If you happen to receive this message by 
error, please delete it and notify us immediately so that we may correct our 
internal records. Thank you.
 
[email protected]

  ----- Original Message ----- 
  From: Tomasz Janeczko 
  To: [email protected] 
  Sent: Saturday, October 24, 2009 3:53 AM
  Subject: Re: [amibroker] PREV of MS in AmiBroker


    
  Hello,

  This MS code:

  result = (C>HautP AND C>BasP,5, If(C<BasP,0,PREV)) 


  can be translated to:

  result = 0;

  for( i = 1; i < BarCount; i++ )
  {
    prev = result[ i - 1];
    result[ i ] = IIF( C[ i ] > HautP[ i ] AND C[ i ] > BasP[ i ], 5, IIF( C[ i 
] < BasP[ i ], 0, prev ) );
  }

  Although loop version is longer, it will execute 100 faster than in 
Metastock, because
  MS PREV is extremely inefficient.

  Best regards,
  Tomasz Janeczko
  amibroker.com
    ----- Original Message ----- 
    From: Yves 
    To: [email protected] 
    Sent: Saturday, October 24, 2009 6:45 AM
    Subject: [amibroker] PREV of MS in AmiBroker


    I'm try to translate this formula(Metastock) in Amibroker(AB)

    (C>HautP AND C>BasP,5, If(C<BasP,0,PREV)) 

    A guy from AB said to use the loop.

    I'm use a formula on site Internet of AB(Percentage Trail Stop)

    Why when I'm use my Formula, I'm obtain :

    Error 6. Condition in IF, WHILE, FOR statements has to be Numeric or 
Boolean type. You can not use array here, please use [] (array subscript 
operator) to access array elements

    And when I'm use the formula Percentage Trail Stop, 

    I don't obtain ERROR 6 ?????????????

    WHY ???????

    Thank

    YLTech

          Percentage Trail Stop
         My Formula
         
          StopLevel =Param("Percentage Trail Stop",0.05, 0.01, 0.6, 0.01 );

          LK=50;

          FF=10;

          A1= IIf( L> Ref(HHV( Close,LK),-5), 1, 0); 

          A2= Sum( A1, LK ) ;

          A3= IIf(C>0, FF, 0); 

          Buy = Cross(A2,A3);

          Sell = 0;

          trailARRAY = Null;

          trailstop = 0;

          for( i = 1; i < BarCount; i++ )

          {

          if( trailstop == 0 AND Buy[ i ] ) 

          { 

          trailstop = High[ i ] * (1-stoplevel);

          }

          else Buy[ i ] = 0; // remove excess buy signals

          if( trailstop > 0 )

          { 

          trailstop = Max( High[ i ] * (1-stoplevel), trailstop );

          trailARRAY[ i ] = trailstop;

          }

          if( trailstop > 0 AND Low[ i ] < trailstop )

          {

          Sell[ i ] = 1;

          SellPrice[ i ] = trailstop;

          trailstop=0;

          }

          }

          PlotShapes(Buy*shapeUpArrow,colorBlue,0,Low);

          PlotShapes(Sell*shapeDownArrow,colorRed,0,High);

          Plot( Close,"Price",colorBlack,styleBar);

          Plot( trailARRAY,"trailing stop level", colorRed );
         _SECTION_BEGIN("Cr.HautP.");

          TimeFrameSet( inDaily ); // switch now to Daily 

          HautP= Ref(H,-1) ;

          BasP= Ref(L,-1) ;

          TimeFrameRestore(); // restore time frame to original

          StopLevel = BasP ;

          Buy = Cross(C,HautP) ;

          Sell = 0 ;

          trailARRAY = Null;

          trailstop = 0;

          for( i = 1; i < BarCount; i++ )

          {

          if( trailstop == 0 AND Buy[ i ] ) 

          { 

          trailstop = HautP ;

          }

          else Buy[ i ] = 0; // remove excess buy signals

          if( trailstop > 0 )

          { 

          trailstop = Max( HautP, trailstop );

          trailARRAY[ i ] = trailstop;

          }

          if( trailstop > 0 AND Low[ i ] < trailstop )

          {

          Sell[ i ] = 1;

          SellPrice[ i ] = trailstop;

          trailstop=0;

          }

          }

          PlotShapes(Buy*shapeUpArrow,colorBlue,0,Low);

          PlotShapes(Sell*shapeDownArrow,colorRed,0,High);

          Plot( Close,"Price",colorBlack,styleBar);

          Plot( trailARRAY,"trailing stop level", colorRed );

          _SECTION_END();
         





    Merci
     
    YLTech ( Yves L. )
     
    Le présent message et les documents qui y sont joints sont réservés 
exclusivement au destinataire indiqué. Il est strictement interdit d'en 
utiliser ou d'en divulguer le contenu. Si vous recevez le présent message par 
erreur, veuillez le détruire S.V.P. et nous en aviser immédiatement afin que 
nous puissions corriger nos dossiers. Merci.
     
    This message and the attached documents may contain privileged or 
confidential information that are intended to the addressee only. Any 
unauthorized disclosure is strictly prohibited. If you happen to receive this 
message by error, please delete it and notify us immediately so that we may 
correct our internal records. Thank you.
     
    [email protected]


  

Reply via email to