[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Float-based Indicators



PureBytes Links

Trading Reference Links

{*Key Below}
Inputs: FloatVal(365000000), StrtDate(0), ExtRgt("True");
Vars: VolCalc(0), BarCount(0), HiCalc(0), LoCalc(0), TL1(0), TL2(0), Txt1(0), Failure(False);
 
IF Date = StrtDate OR (Date = LastCalcDate AND StrtDate = 0) Then Begin
 BarCount = 0;
 Failure = False;
 Plot2(High, "StrtDate");
 Plot3(Low, "StrtDate");
 While VolCalc < FloatVal AND Failure = False Begin
  IF BarCount > MaxBarsBack Then Begin
   Failure = True;
   VolCalc = Volume[BarCount+10];
  End;
  VolCalc = VolCalc + Volume[BarCount];
  BarCount = BarCount + 1;
 End;
 HiCalc = Highest(H, BarCount-1);
 LoCalc = Lowest(L, BarCount-1);
 
 Plot1[BarCount](High[BarCount]*1.01, "Float");
 IF StrtDate <> 0 Then Begin
  TL1 = TL_New(StrtDate, Time, HiCalc, Date[BarCount], Time, HiCalc);
  TL2 = TL_New(StrtDate, Time, LoCalc, Date[BarCount], Time, LoCalc);
 End Else Begin
  TL1 = TL_New(LastCalcDate, Time, HiCalc, Date[BarCount], Time, HiCalc);
  TL2 = TL_New(LastCalcDate, Time, LoCalc, Date[BarCount], Time, LoCalc);
 End;
 
 IF UpperStr(ExtRgt) = "TRUE" OR   UpperStr(ExtRgt) = "T" Then Begin
  TL_SetExtRight(TL1, True);
  TL_SetExtRight(TL2, True);
 End;
 TL_SetExtLeft(TL1, False);
 TL_SetExtLeft(TL2, False);
End;
 
IF Date > StrtDate AND StrtDate <> 0 Then Begin
 IF Low Crosses Above TL_GetEndVal(TL1) AND CheckAlert Then
  Alert = True;
 IF High Crosses Below TL_GetEndVal(TL2) AND CheckAlert Then
  Alert = True;
End;
 
{
FloatVal is the Float value, number of shares currently available for Trading
StrtDate is the date at which to start the accumulation of the Volume.  If StrtDate
 is zero, then the accumulation will begin in the LastCalcDate.
ExtRgt determines if the horizontal lines drawn by the Indicator will extend to the Right, 
 or if they will terminate at the StartDate.
}