+91-0000000000

}

Monday – Friday : 9:00 AM – 6:30 PM

B-Trendplot

B-Trendplot Amibroker AFLs are indispensable for trend analysis. They leverage Amibroker data to identify potential trend changes and reversal points. For these AFLs to deliver reliable signals, traders must have access to up-to-date and high-quality Amibroker data feeds that accurately reflect market conditions, ensuring their trend-based trading strategies are on point.

_SECTION_BEGIN("B");
//ORIGINAL= ?
//MODIFIEWD=CASONI
function Rise( Pd, perd, Pl, perl )
{
 MAD = DEMA(Pd,perd);
 MAL = LinearReg(Pl,perl);
 CondR = ROC(MAD,1)>0 AND ROC(MAL,1)>0;
 CondF = ROC(MAD,1)<0 AND ROC(MAL,1)<0; 
 R[0] = C[0]>(H[0]+L[0])/2;

 for(i=1;i<BarCount;i++)
 {
  if( CondR[i] )
  {
   R[i] = 1;
  }
  else
  {
   if( CondF[i] )
   {
    R[i] = 0;
   }
   else
   {
    R[i] = R[i-1];
   }
  }
 }
 return R;
} 

PrD = C;
PrL = H/2+L/2;
PrdD = PrdL = PrdM = Param("Prd",12,2,40,1);

permax = Max(prdd,prdl);

Rs = IIf( BarIndex()<permax, 0, Rise(PrD, PrdD, PrL, PrdL) );
Fs = IIf( BarIndex()<permax, 0, 1-Rs );

Confirm = MA(C,prdm);

function DirBar( dr, df )
{
B[0] = 0;

for(i=1;i<BarCount;i++)
{
 if( dr[i-1] && df[i]  )
 {
  B[i] = 1;
 }
 else
 {
  if( df[i-1] && dr[i] )
  {
   B[i] = 1;
  }
  else
  {
   B[i] = B[i-1] + 1;
  }
 }
}
return B;
}

Bs = DirBar( Rs, Fs );
Direction = ROC(Confirm,1) > 0 AND ROC(Confirm,5) > 0;
Downward = ROC(Confirm,1) < 0 AND ROC(Confirm,5) < 0;
Buy = Rs AND Ref(Fs,-1);
Sell = Fs AND Ref(Rs,-1);

Change = IIf( Rs, H/ValueWhen(Fs,L)*100, L/ValueWhen(Rs,H)*100 );

Plot( C, "close", IIf( Rs, colorBrightGreen, IIf( Fs, colorRed, colorWhite )), styleLine|styleThick);

PlotShapes( shapeSmallCircle* Buy , colorBrightGreen, 0, H, -15 );
PlotShapes( shapeSmallCircle* Sell, colorRed, 0, L, 15 );


_N( Title = "{{NAME}} - {{INTERVAL}} {{DATE}} Trend Plot - "+prdd+" Day" );
GraphXSpace = 10;
dist = 2.0*ATR(10); 
for( i = 0; i < BarCount; i++ ) 
{ 
if( Buy[i] ) PlotText( "\n@" + C[ i ], i, L[ i ]-dist[i], colorBrightGreen ); 
if( Sell[i] ) PlotText( "\n@" + C[ i ], i, H[ i ]+dist[i], colorRed); 
}

Filter = Buy OR Sell;
AddColumn( Buy, "", 1 );
AddColumn( Sell, "", 1 );
_SECTION_END();

Open chat
1
Hi, how can I help you?