I also tried putting everything inside the BarCount loop but now I get
an error with LineArray (Error 5 - the function expects a different
argument type here):


// Plot the Linear Regression Lines
   if (ParamToggle("Show slope signals", "No|Yes", True))
   {

     for (b = LinePeriod; b < BarCount; b++)
     {

       if (slopeSignalLong[b])
       {
         X2          = b;
         X1          = b - LinePeriod;
         Intercept   = LinRegIntercept(C[b], LinePeriod);
         Slope       = LinRegSlope(C[b], LinePeriod);
         Y2          = Slope * X2 + Intercept;
         Y1          = Slope * X1 + Intercept;
         RegLine     = LineArray( X1, Y1, X2, Y2,0 );
         Plot(RegLine, "RegLine", colorBrown, styleThick | styleDashed);
       }

       if (slopeSignalShort[b])
       {
         X2          = b;
         X1          = b - LinePeriod;
         Intercept   = LinRegIntercept(C[b], LinePeriod);
         Slope       = LinRegSlope(C[b], LinePeriod);
         Y2          = Slope * X2 + Intercept;
         Y1          = Slope * X1 + Intercept;
         RegLine     = LineArray( X1, Y1, X2, Y2,0 );
         Plot(RegLine, "RegLine", colorTurquoise, styleThick |
styleDashed);
       }
     }
    }




--- In [email protected], "ozzyapeman" <[EMAIL PROTECTED]> wrote:
>
> I've been trying to plot linear regression lines, with no luck. Hoping
> someone can point out my error.
>
> When I am determining to enter a trade, my trading formula tests
against
> the slope of the linear regression line over the last 4 Closes (in
> addition to other tests). For visual tracking purposes, I want to plot
> these linear regression lines.
>
> Part of my trading formula resides in a BarCount loop, and inside this
> loop I successfully populate arrays, TestSignalLong and
TestSignalShort.
> When these arrays are true, I want to plot the linear regression
lines.
>
> Here is what I tried coding but it does not properly plot the lines. I
> get weird results:
>
>
>
> X2                  = Cum(1);                                       
//
> 2nd X-coordinate in Cartesian line formula: Y = M*X + B
> LinePeriod       = 4;                                             //
> look-back period for linear regression line
> X1                  = LastValue(X2) - LinePeriod;                   
//
> 1st X-coordinate in Cartesian line formula: Y = M*X + B
> Slope             = LastValue( LinRegSlope(C, LinePeriod) );       //
> this is the 'M' in Cartesian line formula:  Y = M*X + B
> Intercept     = LastValue( LinRegIntercept(C, LinePeriod) );   // this
> is the 'B' in Cartesian line formula:  Y = M*X + B
> Y2                  = Slope * X2 + Intercept;                       
//
> 2nd Y-coordinate in Cartesian line formula: Y = M*X + B
> Y1                  = Slope * X1 + Intercept;                       
//
> 1st Y-coordinate in Cartesian line formula: Y = M*X + B
>
>
> // Barcount Loop
> for (i = LinePeriod; i < BarCount; i++)
> {
>
>
//----------------------------------------------------------------------\
\
>
------------------------------------------------------------------------
> // MY TRADING FORMULA GOES HERE. DURING THE FORMULA, ARRAYS ARE FILLED
> FOR:
> // TestSignalLong[i] AND TestSignalShort[i], for use in the Indicator
> below
>
//----------------------------------------------------------------------\
\
>
------------------------------------------------------------------------\
\
> -
> }
>
>
> if (Status("action") == 1 /* Indicator */)
> {
>
> // Plot Linear Regression Lines for each TestSignal
>    if (ParamToggle("Show slope signals", "No|Yes", True))
>    {
>      firstVisibleBar = Status("firstVisibleBar");
>      lastVisibleBar  = Status("lastVisibleBar");
>      for (b = firstVisibleBar; b < BarCount AND b <= lastVisibleBar;
b++)
>      {
>        if (TestSignalLong[b])
>        {
>          RegLine = LineArray( X1[b], Y1[b], X2[b], Y2[b] );
>          Plot(RegLine, "RegLine", colorBrown, styleThick |
styleDashed);
>        }
>        if (TestSignalShort[b])
>        {
>          RegLine = LineArray( X1[b], Y1[b], X2[b], Y2[b] );
>          Plot(RegLine, "RegLine", colorTurquoise, styleThick |
> styleDashed);
>        }
>      }
>     }
>
>   Plot(C, "Close", colorGreen, styleThick);
>
>   }
>

Reply via email to