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

[amibroker] Re: Entry Time Delay



PureBytes Links

Trading Reference Links

Tried your short bit of code and it showed up fine in my DebugView.

There's no configuration required for DebugView that I remember. Check
the Capture menu though to make sure "Capture Win32" and "Capture
Events" are both checked. I also have Pass-Through checked, but I'm
not sure what difference that makes.

GP


--- In amibroker@xxxxxxxxxxxxxxx, Ed Middleton <jjj_98@xxx> wrote:
>
> Yes I ran the code in Amibroker via the backtest.  
>  
>  
>   ----- Original Message ----- 
>   From:   wavemechanic   
>   To: amibroker@xxxxxxxxxxxxxxx 
>   Sent: Wednesday, July 04, 2007 2:29   PM
>   Subject: Re: [amibroker] Re: Entry Time   Delay
>   
> 
>         
>   If DebugView is open and ready did you run the code   (Apply
Indicator)?
>       ----- Original Message ----- 
>     From: Ed Middleton 
>     To: amibroker@xxxxxxxxxxxxxxx     
>     Sent: Wednesday, July 04, 2007 12:24     PM
>     Subject: Re: [amibroker] Re: Entry Time     Delay
>     
> 
>     Just tried the following and nothing on     DebugView again. 
This is the whole code:
>      
>         
> dt = DateTime(); // So you can see the date/time as     well
>     
> for (i = 0; i < BarCount; i++)
>     
> _TRACE(StrFormat("Bar: %1.0f, ", i)     + DateTimeToStr(dt[i]));
>     
> Buy = Cover = Close     > 15000;
>     
> Short = Sell = Close     < 1;
>     
>  
>     
> Stumped,
> 
>      
>      
>      
>      
>      
>      
>           ----- Original Message ----- 
>       From: gp_sydney 
>       To: amibroker@xxxxxxxxxxxxxxx       
>       Sent: Wednesday, July 04, 2007 10:45       AM
>       Subject: [amibroker] Re: Entry Time       Delay
>       
> 
>             
> You can't trace a whole array in a statement like that, as far as  
    I'm
> aware. Think of it like a Plot statement and use either       string
> concatenation with single numbers or the StrFormat function for    
  more
> detail:
> 
> for (i = 0; i < BarCount; i++)
> _TRACE("This       is the close: " + Close[i]);
> 
> or:
> 
> for (i = 0; i <       BarCount; i++)
> _TRACE(StrFormat("This is the close: %1.3f",       Close[i]));
> 
> So for the Buy & Sell arrays, something like       this:
> 
> dt = DateTime(); // So you can see the date/time as       well
> for (i = 0; i < BarCount; i++)
> _TRACE(StrFormat("Bar:       %1.0f, ", i) + DateTimeToStr(dt[i]) +
> StrFormat(", Buy = %1.0f,       Sell = %1.0f", Buy[i], Sell[i]));
> 
> That will give output like this       (with EOD data):
> 
> Bar: 469, 18/11/1998, Buy = 0, Sell = 0
> Bar:       470, 19/11/1998, Buy = 0, Sell = 0
> Bar: 471, 20/11/1998, Buy = 1, Sell       = 0
> Bar: 472, 23/11/1998, Buy = 0, Sell = 0
> Bar: 473, 24/11/1998,       Buy = 0, Sell = 0
> Bar: 474, 25/11/1998, Buy = 0, Sell = 0
> Bar: 475,       26/11/1998, Buy = 0, Sell = 0
> 
> Only do it over one or two stocks at       a time though, otherwise you
> could be generating hundreds or even       thousands of lines for
each stock
> which will likely take a long time.       One code at a time should be
> enough to help find your       problem.
> 
> GP
> 
> --- In amibroker@xxxxxxxxxxxxxxx,       Ed Middleton <jjj_98@> wrote:
> >
> > Ok I've got the       DebugView software loaded and open. I've
added the
> line:
> >       
> > _Trace("This is the close" + Close);
> > 
> > Getting       nothing in the DebugView.
> > 
> > Not familiar at all with this       DebugView software. Can
someone help
> me get this working?
> >       
> > thx,
> > 
> > 
> > ----- Original Message -----       
> > From: gp_sydney 
> > To: amibroker@xxxxxxxxxxxxxxx       
> > Sent: Wednesday, July 04, 2007 9:13 AM
> > Subject:       [amibroker] Re: Entry Time Delay
> > 
> > 
> > 
> > Could       be anything really. I don't have intra-day data and
haven't
> > played       around with multi-time frame code, so I can't easily
      check
> this.
> > 
> > What I'd be doing next though is using       DebugView with some trace
> > statements to see if the Buy & Short       arrays have anything in
them.
> > Trace inside a loop to see what the       value of Buy and Short
are at
> each
> > bar.
> > 
> >       GP
> > 
> > --- In amibroker@xxxxxxxxxxxxxxx,       Ed Middleton <jjj_98@> wrote:
> > >
> > >       gp_sydney,
> > > 
> > > Your logic makes sense but when I       added it I still get no
trades
> > being initiated. Below is my code.       For the life of me I
don't see why
> > your logic won't work. Could it       be something in the preferences?
> > > 
> > > 
> > >       // Simiple MOVING AVERAGE MULTI TIMEFRAME BACKTEST 
> > > 
> >       > // Notes: all trades must be triggered on "Close", "0"
days delay       
> > > 
> > > // in the backtest setup.
> > >       
> > > 
> > > 
> > > // Parameters
> > >       
> > > LongPeriods=Param("Long       Periods",17,5,21,3);
> > > 
> > >       LongPeriodsLTF=Param("Long PeriodsLTF",9,5,21,3);
> >       > 
> > >       NumberofPositions=Param("Positions",2,2,6,1);
> > >       
> > >       
> FirstProfitTarget=Param("FirstProfitTarget",0.004,0.0001,0.0045,0.0001);
> >       > 
> > > SecondProfitTarget =
> >       Param("SecondProfitTarget",0.009,0.0001,0.0125,0.0001);
> >       > 
> > >       TrailingStop=Param("TrailStop",0.001,0.0001,0.003,0....0001);
> >       > 
> > > 
> > > 
> > > TimeFrameSet (in5Minute);       // switch to 15 minute time frame
> > > 
> > > // Calculate       Moving Averages
> > > 
> > >       MAShort=MA(C,LongPeriods);
> > > 
> > >       MALong=Ref(MAShort,-2);
> > > 
> > > // Check for Long       or Short Signals
> > > 
> > > LongSignal = (C > MALong)       AND (C > MAShort) AND (MAShort >
MALong);
> > > 
> > >       ShortSignal = (C < MALong) AND (C < MAShort) AND (MAShort
<       MALong);
> > > 
> > > TimeFrameRestore(); // restore       time frame to original
> > > 
> > > 
> > > 
> >       > TimeFrameSet (in15Minute); // switch to 15 minute time   
   frame
> > > 
> > > // Calculate Moving Averages
> > >       
> > > MAShortLT=MA(C,LongPeriodsLTF);
> > >       
> > > MALongLT=Ref(MAShortLT,-1);
> > > 
> >       > LongSignalLT = (C > MALongLT) AND (C > MAShortLT) AND    
  (MAShortLT >
> > MALongLT);
> > > 
> > >       ShortSignalLT = (C < MALongLT) AND (C < MAShortLT) AND
(MAShortLT       <
> > MALongLT);
> > > 
> > > SignalLatchLong =       Flip(LongSignalLT,ShortSignalLT);
> > > 
> > >       SignalLatchShort = Flip(ShortSignalLT, LongSignalLT);
> > >       
> > > TimeFrameRestore(); // restore time frame to       original
> > > 
> > > 
> > > 
> > > // Points       only test is equivalent to trading just one
contract. This
> > can be       
> > > 
> > > // easily accomplished using Futures mode of       the
backtester AND
> > adding the following one line to your       formula:
> > > 
> > > MarginDeposit = 1;
> > >       
> > > PositionSize=NumberofPositions;
> > >       
> > > 
> > > 
> > > 
> > > 
> > >       //Entry and Exit
> > > 
> > > EntryTimeCondition = IIf (       Minute() == 4 + 0*5, True,
> > > 
> > > IIf ( Minute() == 4       + 1*5, True,
> > > 
> > > IIf ( Minute() == 4 + 2*5,       True,
> > > 
> > > IIf ( Minute() == 4 + 3*5, True,
> >       > 
> > > IIf ( Minute() == 4 + 4*5, True,
> > > 
> >       > IIf ( Minute() == 4 + 5*5, True,
> > > 
> > > IIf (       Minute() == 4 + 6*5, True,
> > > 
> > > IIf ( Minute() == 4       + 7*5, True,
> > > 
> > > IIf ( Minute() == 4 + 8*5,       True,
> > > 
> > > IIf ( Minute() == 4 + 9*5, True,
> >       > 
> > > IIf ( Minute() == 4 + 10*5, True,
> > > 
> >       > IIf ( Minute() == 4 + 11*5, True,False))))))))))));//Entry
      only
> > occurs at the end of each 5 minute bar.
> > > 
> >       > //Bars must be setup in preferences for "Time stamp of   
   compressed
> > intraday bars shows:
> > > 
> > > //       START time of interval" as being checked off.
> > > 
> > >       
> > > 
> > > Cover = (TimeFrameExpand(LongSignal,       in5Minute) AND
> EntryTimeCondition) 
> > > 
> > > OR       (TimeFrameExpand(SignalLatchLong, in15Minute) AND
> >       EntryTimeCondition) 
> > > 
> > > OR TimeNum() >       155800;
> > > 
> > > 
> > > 
> > > Sell =       TimeFrameExpand(ShortSignal, in5Minute) OR
> >       TimeFrameExpand(SignalLatchShort, in15Minute)
> > >       
> > > OR TimeNum() > 155800;
> > > 
> > >       
> > > 
> > > Buy = TimeFrameExpand(LongSignal,       in5Minute) AND
> > TimeFrameExpand(SignalLatchLong,       in15Minute)
> > > 
> > > AND (TimeNum()>93300) AND       (TimeNum() <153000) AND 
> EntryTimeCondition;
> > > 
> >       > 
> > > 
> > > 
> > > 
> > > Short =       TimeFrameExpand(ShortSignal, in5Minute) AND
> >       TimeFrameExpand(SignalLatchShort, in15Minute)
> > >       
> > > AND (TimeNum()>93300) AND (TimeNum() <153000) AND       
> EntryTimeCondition;
> > > 
> > > 
> > > 
> >       > // Trade Management
> > > 
> > > PriceatShort =       0;
> > > 
> > > LowSinceShort = 1000000;
> > >       
> > > PriceatBuy = 0;
> > > 
> > > HighSinceBuy =       0;
> > > 
> > > Exit = 0;
> > > 
> > > for( i       = 0; i < BarCount; i++)
> > > 
> > > {
> > >       
> > > if(PriceAtBuy == 0 AND Buy[i])
> > > 
> > >       {
> > > 
> > > PriceAtBuy = BuyPrice[i];
> > >       
> > > BarCountBuy = BarCount;
> > > 
> > > }
> >       > 
> > > if(PriceAtBuy > 0)
> > > 
> > >       {
> > > 
> > > HighSinceBuy = Max(High[i-1] ,       HighSinceBuy);
> > > 
> > > if(Exit == 0 AND High[i]       >= ((1 + FirstProfitTarget)*
PriceAtBuy)) 
> > > 
> >       > {
> > > 
> > > // first profit target hit - Scale       Out
> > > 
> > > Exit = 1;
> > > 
> > > Buy[i]       = sigScaleOut;
> > > 
> > > BuyPrice[i] = ((1 +       FirstProfitTarget)* PriceAtBuy) ; 
> > > 
> > >       }
> > > 
> > > if(Exit == 0 AND High[i] >= ((1 +       SecondProfitTarget)*
> PriceAtBuy)) 
> > > 
> > >       {
> > > 
> > > // Second profit target hit - Exit
> >       > 
> > > Exit = 2;
> > > 
> > > Sell[i] =       1;
> > > 
> > > SellPrice[i] = ((1 +       SecondProfitTarget)* PriceAtBuy) ; 
> > > 
> > >       }
> > > 
> > > if((Low[i] <= (HighSinceBuy *(1-       TrailingStop))) AND (i !=
> BarCountbuy))
> > > 
> >       > {
> > > 
> > > // trailing stop hit - exit
> > >       
> > > Exit = 2;
> > > 
> > > Sell[i] = 1;
> >       > 
> > > SellPrice[i] = (HighSinceBuy *(1-       TrailingStop));
> > > 
> > > }
> > > 
> >       > if(Exit == 2)
> > > 
> > > {
> > > 
> > >       Exit = 0;
> > > 
> > > PriceAtBuy = 0;
> > > 
> >       > HighSinceBuy = 0;
> > > 
> > > }
> > > 
> >       > }
> > > 
> > > 
> > > 
> > >       if(PriceatShort == 0 AND Short[i])
> > > 
> > > {
> >       > 
> > > PriceatShort = ShortPrice[i];
> > >       
> > > BarCountShort = BarCount;
> > > 
> > >       }
> > > 
> > > if(PriceatShort > 0)
> > > 
> >       > { 
> > > 
> > > LowSinceShort = Min(Low[i-1] ,       LowSinceShort);
> > > 
> > > if(Exit == 0 AND Low[i]       <= (PriceatShort *(1 -
FirstProfitTarget))) 
> > > 
> >       > {
> > > 
> > > // first profit target hit - Scale       Out
> > > 
> > > Exit = 1;
> > > 
> > >       Short[i] = sigScaleOut;
> > > 
> > >       ShortPrice[i]=(PriceatShort *(1 - FirstProfitTarget));
> >       > 
> > > }
> > > 
> > > if(Exit == 0 AND Low[i]       <= (PriceatShort *(1 - 
> SecondProfitTarget))) 
> > >       
> > > {
> > > 
> > > // first profit target hit -       Scale Out
> > > 
> > > Exit = 2;
> > > 
> > >       Cover[i] = 1;
> > > 
> > > CoverPrice[i]=(PriceatShort       *(1 - SecondProfitTarget));
> > > 
> > > }
> > >       
> > > if((High[i] >= (LowSinceShort * (1 + TrailingStop)))       AND (i !=
> > BarCountShort)) 
> > > 
> > >       {
> > > 
> > > // trailing stop hit - exit
> > >       
> > > Exit = 2;
> > > 
> > > Cover[i] = 1;
> >       > 
> > > CoverPrice[i] = (LowSinceShort *(1+       TrailingStop));
> > > 
> > > }
> > > 
> >       > if(Exit == 2)
> > > 
> > > {
> > > 
> > >       Exit = 0;
> > > 
> > > PriceatShort = 0;
> > >       
> > > LowSinceShort = 1000000;
> > > 
> > >       }
> > > 
> > > }
> > > 
> > > 
> > >       
> > > }
> > > 
> > >       SetPositionSize(50,spsPercentOfPosition*((Buy ==       
> sigScaleOut)+(Short 
> > > 
> > > ==       sigScaleOut)));
> > > 
> > > //scale out of 50% of       position 
> > > 
> > > 
> > > 
> > > Mask =       BarsSince(Sell) >= 5 AND BarsSince(Cover) >= 5;
> > >       
> > > Mask = IIf(IsNull(Mask), True, Mask); // Convert Nulls       to
Trues
> > > 
> > > Buy = Buy AND Mask;
> > >       
> > > Short = Short AND Mask; 
> > > 
> > > -----       Original Message ----- 
> > > From: gp_sydney 
> > > To: amibroker@xxxxxxxxxxxxxxx       
> > > Sent: Tuesday, July 03, 2007 6:58 PM
> > > Subject:       [amibroker] Re: Entry Time Delay
> > > 
> > > 
> > >       
> > > Fred,
> > > 
> > > The problem you're       describing is because the BarsSince
array returns
> > > Null values       before the first True in the array you're testing.
> If you
> > >       convert them back to True values, then your statements
should       work:
> > > 
> > > Mask = BarsSince(Sell) >= 5 AND       BarsSince(Cover) >= 5;
> > > Mask = IIf(IsNull(Mask), True,       Mask); // Convert Nulls to
Trues
> > > Buy = Buy AND Mask;
> >       > Short = Short AND Mask;
> > > 
> > > Now the Mask array       will start off with all True values
before the
> > > first Sell or       Cover signal, allowing earlier Buy and Short
signals
> > to
> >       > remain.
> > > 
> > > GP
> > > 
> > > ---       In amibroker@xxxxxxxxxxxxxxx,       Ed Middleton
<jjj_98@> wrote:
> > > >
> > > >       Herman,
> > > > 
> > > > Actually I think you meant to       type:
> > > > 
> > > > Buy = Buy AND       BarsSince(Sell)>=5 AND BarsSince(Cover) >=5;
> > > >       
> > > > similarily,
> > > > 
> > > > Short       = Short AND BarsSince(Sell)>=5 AND
BarsSince(Cover)       >=5;
> > > > 
> > > > In my head this should only       allow a "Buy" (or "Short") 5
bars
> after
> > > the last trade       exit.
> > > > 
> > > > Now the problem with this       approach is that there cannot be a
> Sell Or
> > > Cover without a       trade (A Buy or Short)first being put on by
> > > definition. You       cannot end a trade without first putting
on a trade.
> > > In the       above, you cannot put on a trade until 5 days after
a Sell or
> > >       Cover. So when you run this code, no trades are initiated.
> > >       > 
> > > > If there was a way of initiating the code with a       Sell
and Cover
> > > signal on Bar "0" then I'd assume that on Bar       5 that the 
> conditions in
> > > the Buy and Short code at the       top would be satisfied. I
don't know
> > > how to intiate the code       so that it starts with a sell and
cover
> > signal.
> > > >       
> > > > I've tried: Sell = Cover = 1
> > > > 
> >       > > I've tried in my if loop,
> > > > If (i == 0)
> >       > > {
> > > > sell(i) = 1;
> > > > cover(i) =       1;
> > > > }
> > > > 
> > > > Neither has       worked.
> > > > 
> > > > Am I missing something in       your logic?
> > > > 
> > > > thanks,
> > > >       
> > > > Fred
> > > > 
> > > > -----       Original Message ----- 
> > > > From: Herman 
> > > >       To: Ed Middleton 
> > > > Sent: Friday, June 29, 2007 5:31       AM
> > > > Subject: Re: [amibroker] Entry Time Delay
> >       > > 
> > > > 
> > > > 
> > > >       
> > > > 
> > > > 
> > > > 
> > >       > Your system here...
> > > > 
> > > > 
> >       > > 
> > > > 
> > > > Sell = Sell AND       BarsSince(Sell) >= 5;
> > > > 
> > > > 
> >       > > 
> > > > 
> > > > herman
> > > >       
> > > > 
> > > > 
> > > > 
> > >       > Thursday, June 28, 2007, 9:36:11 PM, you wrote:
> > > >       
> > > > 
> > > > 
> > > > 
> > >       > >
> > > > 
> > > > Ok now really frustrated.       Nothing seems to be working.
> > > > 
> > > > 
> >       > > 
> > > > Here's what I want to do:
> > > >       
> > > > Wait 5 bars after a sell or cover before buying or       shorting
> > > again. You would think this was simple but as you       can see 
> > > below it is causing me some trouble. Any help would       be 
> > > appreciated.
> > > > 
> > > >       
> > > > 
> > > > thx,
> > > > 
> > >       > 
> > > > 
> > > > Fred
> > > > 
> >       > > 
> > > > 
> > > > ----- Original Message       ----- 
> > > > 
> > > > From: Ed Middleton 
> >       > > 
> > > > To: amibroker@xxxxxxxxxxxxxxx       
> > > > 
> > > > Sent: Thursday, June 28, 2007 2:37       PM
> > > > 
> > > > Subject: Re: [amibroker] Entry       Time Delay
> > > > 
> > > > 
> > > >       
> > > > 
> > > > Ok, I've found the problem.       BarsSince(Sell) and
> > > BarsSince(Cover) never = anything because       there is not
Sells or 
> > > Covers to get a value from and thus no       buys or shorts.
Somehow I 
> > > need to be able to allow the first       buy or Short to occur then
> > > everything will be ok.
> >       > > 
> > > > 
> > > > 
> > > > Any       suggestions?
> > > > 
> > > > 
> > > >       
> > > > thx,
> > > > 
> > > > 
> > >       > 
> > > > ----- Original Message ----- 
> > > >       
> > > > From: Ed Middleton 
> > > > 
> > >       > To: amibroker@xxxxxxxxxxxxxxx       
> > > > 
> > > > Sent: Thursday, June 28, 2007 11:48       AM
> > > > 
> > > > Subject: Re: [amibroker] Entry       Time Delay
> > > > 
> > > > 
> > > >       
> > > > 
> > > > Also tried:
> > > >       
> > > > BarsSinceExit =       Min(BarsSince(Sell),BarsSince(Cover));
> > > >       
> > > > Added to Buy and Short lines:
> > > >       
> > > > AND (BarsSinceExit > 0);
> > > > 
> >       > > This should have gotten me in on the next 5 minute bar.
      No
> > > luck with this procedure either. I'm missing something in       my
> > > programming logic.
> > > > 
> > > >       
> > > > 
> > > > 
> > > > 
> > >       > ----- Original Message ----- 
> > > > 
> > > >       From: jjj_98 
> > > > 
> > > > To: amibroker@xxxxxxxxxxxxxxx       
> > > > 
> > > > Sent: Thursday, June 28, 2007 11:04       AM
> > > > 
> > > > Subject: [amibroker] Entry Time       Delay
> > > > 
> > > > 
> > > > 
> >       > > 
> > > > After exiting a trade I want to wait 5       minutes before
> > > re-entering a 
> > > > 
> > >       > trade so here's what code I've tried but it does not
seem to be       
> > > > 
> > > > making a difference in the next       entry. Do you see any
problems?
> > > > 
> > > >       
> > > > 
> > > > 
> > > > //Initialize last       trade exit times
> > > > 
> > > > 
> > > >       
> > > > 
> > > > LastSellTime = LastCoverTime =       000000;
> > > > 
> > > > 
> > > > 
> >       > > 
> > > > // Calculates Amount of time since last       exit
> > > > 
> > > > 
> > > > 
> > >       > 
> > > > TimeSinceLastTrade = Min((TimeNum() -       
> > > LastSellTime),(TimeNum() - 
> > > >       
> > > > LastCoverTime));
> > > > 
> > >       > 
> > > > 
> > > > 
> > > > // I added       this to my BUY and SHORT instructions so that the
> > > time to       
> > > > 
> > > > re-enter the next trade must be       greater than 5 minutes.
> > > > 
> > > > 
> > >       > 
> > > > 
> > > > AND (TimeSinceLastTrade >       000500);
> > > > 
> > > > 
> > > > 
> >       > > 
> > > > //In my logic added the following to get the       time of the
> > > Last Sell 
> > > > 
> > > >       and Last Cover
> > > > 
> > > > 
> > > >       
> > > > 
> > > > if(Sell[i] == 1)
> > > >       
> > > > {
> > > > 
> > > > LastSellTime =       TimeNum();
> > > > 
> > > > }
> > > >       
> > > > 
> > > > 
> > > > 
> > >       > if(Cover[i] == 1)
> > > > 
> > > > {
> > >       > 
> > > > LastCoverTime = TimeNum();
> > > >       
> > > > }
> > > > 
> > > > 
> > >       > 
> > > > 
> > > >       ---------------------------------
> > > >       
> > > > Choose the right car based on your needs. Check out       Yahoo! 
> > > Autos new Car Finder tool. 
> > > >       
> > > >       ---------------------------------
> > > >       
> > > > Get the Yahoo! toolbar and be alerted to new email       wherever
> > > you're surfing. 
> > > > 
> > >       > 
> > > > 
> > > > 
> > > > 
> >       > > 
> > > >       ---------------------------------
> > > >       
> > > > Boardwalk for $500? In 2007? Ha! 
> > > >       
> > > > Play Monopoly Here and Now (it's updated for today's      
economy) at
> > > Yahoo! Games.
> > > > 
> > >       > 
> > > > 
> > > > #ygrp-mlmsg { FONT-SIZE: small;       FONT-FAMILY:
> > >       arial,helvetica,clean,sans-serif}#ygrp-mlmsg TABLE {     
 }#ygrp-mlmsg
> > > SELECT { FONT: 99%       arial,helvetica,clean,sans-serif}INPUT
{ FONT:
> >       99%
> > > arial,helvetica,clean,sans-serif}TEXTAREA {       FONT: 99%
> > >       arial,helvetica,clean,sans-serif}#ygrp-mlmsg PRE { FONT: 
     100%
> > > monospace}CODE { FONT: 100% monospace}#ygrp-mlmsg *       {
LINE-HEIGHT:
> > > 1.22em}#ygrp-text { FONT-FAMILY:       Georgia}#ygrp-text P {
MARGIN: 0px
> > > 0px 1em}#ygrp-tpmsgs       { CLEAR: both; FONT-FAMILY:
> Arial}#ygrp-vitnav {
> > >       FONT-SIZE: 77%; MARGIN: 0px; PADDING-TOP: 10px; FONT-FAMILY:
> > >       Verdana}#ygrp-vitnav A { PADDING-RIGHT: 1px; PADDING-LEFT:
      1px;
> > > PADDING-BOTTOM: 0px; PADDING-TOP: 0px}#ygrp-actbar {      
CLEAR: both;
> > > MARGIN: 25px 0px; COLOR: #666; WHITE-SPACE:       nowrap;
TEXT-ALIGN:
> > > right}#ygrp-actbar ..left { FLOAT:       left; WHITE-SPACE:
nowrap}..bld {
> > > FONT-WEIGHT:       bold}#ygrp-grft { PADDING-RIGHT: 0px;
PADDING-LEFT:
> 0px;
> > >       FONT-SIZE: 77%; PADDING-BOTTOM: 15px; PADDING-TOP:       15px;
> FONT-FAMILY:
> > > > Verdana}#ygrp-ft {       PADDING-RIGHT: 0px; BORDER-TOP: #666 1px 
> solid;
> > >       PADDING-LEFT: 0px; FONT-SIZE: 77%; PADDING-BOTTOM: 5px;  
    PADDING-TOP:
> > > 5px; FONT-FAMILY: verdana}#ygrp-mlmsg #logo       { PADDING-BOTTOM:
> > > 10px}#ygrp-vital { PADDING-RIGHT: 0px;       PADDING-LEFT: 8px;
> > > MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 8px;       PADDING-TOP: 2px;
> > > BACKGROUND-COLOR: #e0ecee}#ygrp-vital       #vithd {
FONT-WEIGHT: bold;
> > > FONT-SIZE: 77%; TEXT-TRANSFORM:       uppercase; COLOR: #333;
FONT-FAMILY:
> > > Verdana}#ygrp-vital       UL { PADDING-RIGHT: 0px; PADDING-LEFT:
0px;
> > > PADDING-BOTTOM:       0px; MARGIN: 2px 0px; PADDING-TOP:
0px}#ygrp-vital
> > > UL LI {       CLEAR: both; BORDER-RIGHT: #e0ecee 1px solid;
BORDER-TOP:
> > >       #e0ecee 1px solid; BORDER-LEFT: #e0ecee 1px solid;
BORDER-BOTTOM:
> >       > #e0ecee 1px solid; LIST-STYLE-TYPE: none}#ygrp-vital UL LI
..ct       {
> > > PADDING-RIGHT: 0.5em; FONT-WEIGHT: bold; FLOAT: right;      
WIDTH: 2em;
> > > COLOR: #ff7900; TEXT-ALIGN:       right}#ygrp-vital UL LI ..cat {
> > > FONT-WEIGHT:       bold}#ygrp-vital A { TEXT-DECORATION:
none}#ygrp-vital
> > >       A:hover {
> > > > TEXT-DECORATION: underline}#ygrp-sponsor       #hd {
FONT-SIZE: 77%;
> > > COLOR: #999}#ygrp-sponsor #ov {       PADDING-RIGHT: 13px;
PADDING-LEFT:
> > > 13px; MARGIN-BOTTOM: 20px;       PADDING-BOTTOM: 6px;
PADDING-TOP: 6px;
> > > BACKGROUND-COLOR:       #e0ecee}#ygrp-sponsor #ov UL {
PADDING-RIGHT:
> 0px;
> > >       PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; MARGIN: 0px;
PADDING-TOP:
> >       > 0px}#ygrp-sponsor #ov LI { PADDING-RIGHT: 0px;
PADDING-LEFT:       0px;
> > > FONT-SIZE: 77%; PADDING-BOTTOM: 6px; PADDING-TOP:       6px;
> > > LIST-STYLE-TYPE: square}#ygrp-sponsor #ov LI A {      
FONT-SIZE: 130%;
> > > TEXT-DECORATION: none}#ygrp-sponsor #nc {       PADDING-RIGHT: 8px;
> > > PADDING-LEFT: 8px; MARGIN-BOTTOM: 20px;       PADDING-BOTTOM: 0px;
> > > PADDING-TOP: 0px; BACKGROUND-COLOR:       #eee}#ygrp-sponsor ..ad {
> > > PADDING-RIGHT: 0px; PADDING-LEFT:       0px; PADDING-BOTTOM: 8px;
> > > PADDING-TOP: 8px}#ygrp-sponsor .ad       #hd1 { FONT-WEIGHT: bold;
> > > FONT-SIZE: 100%; COLOR: #628c2a;       LINE-HEIGHT: 122%;
FONT-FAMILY:
> > > Arial}#ygrp-sponsor .ad       A { TEXT-DECORATION:
none}#ygrp-sponsor
> .ad
> > > A:hover {       TEXT-DECORATION:
> > > > underline}#ygrp-sponsor ..ad P {       MARGIN: 0px}o { FONT-SIZE:
> > > 0px}..MsoNormal { MARGIN:       0px}#ygrp-text TT { FONT-SIZE:
> > > 120%}BLOCKQUOTE { MARGIN: 0px       0px 0px 4px}..replbq { }
> > > > 
> > > >       ---------------------------------
> > > >       Building a website is a piece of cake. 
> > > > Yahoo! Small       Business gives you all the tools to get online.
> > > >
> >       > 
> > > 
> > > 
> > > #ygrp-mlmsg { FONT-SIZE:       small; FONT-FAMILY:
> >       arial,helvetica,clean,sans-serif}#ygrp-mlmsg TABLE {      
}#ygrp-mlmsg
> > SELECT { FONT: 99%       arial,helvetica,clean,sans-serif}INPUT {
FONT:
> 99%
> >       arial,helvetica,clean,sans-serif}TEXTAREA { FONT: 99%
> >       arial,helvetica,clean,sans-serif}#ygrp-mlmsg PRE { FONT:   
   100%
> > monospace}CODE { FONT: 100% monospace}#ygrp-mlmsg * {      
LINE-HEIGHT:
> > 1.22em}#ygrp-text { FONT-FAMILY:       Georgia}#ygrp-text P {
MARGIN: 0px
> > 0px 1em}#ygrp-tpmsgs {       CLEAR: both; FONT-FAMILY:
Arial}#ygrp-vitnav {
> > FONT-SIZE:       77%; MARGIN: 0px; PADDING-TOP: 10px; FONT-FAMILY:
> >       Verdana}#ygrp-vitnav A { PADDING-RIGHT: 1px; PADDING-LEFT: 
     1px;
> > PADDING-BOTTOM: 0px; PADDING-TOP: 0px}#ygrp-actbar { CLEAR:      
both;
> > MARGIN: 25px 0px; COLOR: #666; WHITE-SPACE: nowrap;       TEXT-ALIGN:
> > right}#ygrp-actbar ..left { FLOAT: left;       WHITE-SPACE:
nowrap}..bld {
> > FONT-WEIGHT: bold}#ygrp-grft {       PADDING-RIGHT: 0px;
PADDING-LEFT: 0px;
> > FONT-SIZE: 77%;       PADDING-BOTTOM: 15px; PADDING-TOP: 15px;
FONT-FAMILY:
> > >       Verdana}#ygrp-ft { PADDING-RIGHT: 0px; BORDER-TOP: #666
1px       solid;
> > PADDING-LEFT: 0px; FONT-SIZE: 77%; PADDING-BOTTOM: 5px;      
PADDING-TOP:
> > 5px; FONT-FAMILY: verdana}#ygrp-mlmsg #logo {       PADDING-BOTTOM:
> > 10px}#ygrp-vital { PADDING-RIGHT: 0px;       PADDING-LEFT: 8px;
> > MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 8px;       PADDING-TOP: 2px;
> > BACKGROUND-COLOR: #e0ecee}#ygrp-vital       #vithd { FONT-WEIGHT:
bold;
> > FONT-SIZE: 77%; TEXT-TRANSFORM:       uppercase; COLOR: #333;
FONT-FAMILY:
> > Verdana}#ygrp-vital UL {       PADDING-RIGHT: 0px; PADDING-LEFT: 0px;
> > PADDING-BOTTOM: 0px;       MARGIN: 2px 0px; PADDING-TOP:
0px}#ygrp-vital
> > UL LI { CLEAR: both;       BORDER-RIGHT: #e0ecee 1px solid;
BORDER-TOP:
> > #e0ecee 1px solid;       BORDER-LEFT: #e0ecee 1px solid;
BORDER-BOTTOM:
> > #e0ecee 1px solid;       LIST-STYLE-TYPE: none}#ygrp-vital UL LI .ct {
> > PADDING-RIGHT:       0.5em; FONT-WEIGHT: bold; FLOAT: right;
WIDTH: 2em;
> > COLOR:       #ff7900; TEXT-ALIGN: right}#ygrp-vital UL LI ..cat {
> >       FONT-WEIGHT: bold}#ygrp-vital A { TEXT-DECORATION:      
none}#ygrp-vital
> > A:hover {
> > > TEXT-DECORATION:       underline}#ygrp-sponsor #hd { FONT-SIZE: 77%;
> > COLOR:       #999}#ygrp-sponsor #ov { PADDING-RIGHT: 13px;
PADDING-LEFT:
> > 13px;       MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 6px; PADDING-TOP:
6px;
> >       BACKGROUND-COLOR: #e0ecee}#ygrp-sponsor #ov UL {
PADDING-RIGHT:       0px;
> > PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; MARGIN: 0px;      
PADDING-TOP:
> > 0px}#ygrp-sponsor #ov LI { PADDING-RIGHT: 0px;       PADDING-LEFT:
0px;
> > FONT-SIZE: 77%; PADDING-BOTTOM: 6px;       PADDING-TOP: 6px;
> > LIST-STYLE-TYPE: square}#ygrp-sponsor #ov       LI A { FONT-SIZE:
130%;
> > TEXT-DECORATION: none}#ygrp-sponsor #nc {       PADDING-RIGHT: 8px;
> > PADDING-LEFT: 8px; MARGIN-BOTTOM: 20px;       PADDING-BOTTOM: 0px;
> > PADDING-TOP: 0px; BACKGROUND-COLOR:       #eee}#ygrp-sponsor ..ad {
> > PADDING-RIGHT: 0px; PADDING-LEFT: 0px;       PADDING-BOTTOM: 8px;
> > PADDING-TOP: 8px}#ygrp-sponsor .ad #hd1 {       FONT-WEIGHT: bold;
> > FONT-SIZE: 100%; COLOR: #628c2a; LINE-HEIGHT:       122%; FONT-FAMILY:
> > Arial}#ygrp-sponsor .ad A {       TEXT-DECORATION:
none}#ygrp-sponsor .ad
> > A:hover {       TEXT-DECORATION:
> > > underline}#ygrp-sponsor .ad P { MARGIN:       0px}o { FONT-SIZE:
> > 0px}..MsoNormal { MARGIN: 0px}#ygrp-text TT {       FONT-SIZE:
> > 120%}BLOCKQUOTE { MARGIN: 0px 0px 0px 4px}..replbq {       }
> > > 
> > >       ---------------------------------
> > > Be a better       Heartthrob. Get better relationship answers
from someone
> > who       knows.
> > > Yahoo! Answers - Check it out.
> > >
> >       
> > 
> > 
> > #ygrp-mlmsg { FONT-SIZE: small;       FONT-FAMILY:
> arial,helvetica,clean,sans-serif}#ygrp-mlmsg       TABLE { }#ygrp-mlmsg
> SELECT { FONT: 99%       arial,helvetica,clean,sans-serif}INPUT {
FONT:       99%
> arial,helvetica,clean,sans-serif}TEXTAREA { FONT:       99%
> arial,helvetica,clean,sans-serif}#ygrp-mlmsg PRE {       FONT: 100%
> monospace}CODE { FONT: 100% monospace}#ygrp-mlmsg * {       LINE-HEIGHT:
> 1.22em}#ygrp-text { FONT-FAMILY:       Georgia}#ygrp-text P {
MARGIN: 0px
> 0px 1em}#ygrp-tpmsgs { CLEAR:       both; FONT-FAMILY:
Arial}#ygrp-vitnav {
> FONT-SIZE: 77%; MARGIN:       0px; PADDING-TOP: 10px; FONT-FAMILY:
> Verdana}#ygrp-vitnav A {       PADDING-RIGHT: 1px; PADDING-LEFT: 1px;
> PADDING-BOTTOM: 0px;       PADDING-TOP: 0px}#ygrp-actbar { CLEAR: both;
> MARGIN: 25px 0px; COLOR:       #666; WHITE-SPACE: nowrap; TEXT-ALIGN:
> right}#ygrp-actbar ..left {       FLOAT: left; WHITE-SPACE:
nowrap}..bld {
> FONT-WEIGHT: bold}#ygrp-grft {       PADDING-RIGHT: 0px;
PADDING-LEFT: 0px;
> FONT-SIZE: 77%; PADDING-BOTTOM:       15px; PADDING-TOP: 15px;
FONT-FAMILY:
> > Verdana}#ygrp-ft {       PADDING-RIGHT: 0px; BORDER-TOP: #666 1px
solid;
> PADDING-LEFT: 0px;       FONT-SIZE: 77%; PADDING-BOTTOM: 5px;
PADDING-TOP:
> 5px; FONT-FAMILY:       verdana}#ygrp-mlmsg #logo { PADDING-BOTTOM:
> 10px}#ygrp-vital {       PADDING-RIGHT: 0px; PADDING-LEFT: 8px;
> MARGIN-BOTTOM: 20px;       PADDING-BOTTOM: 8px; PADDING-TOP: 2px;
> BACKGROUND-COLOR:       #e0ecee}#ygrp-vital #vithd { FONT-WEIGHT: bold;
> FONT-SIZE: 77%;       TEXT-TRANSFORM: uppercase; COLOR: #333;      
FONT-FAMILY:
> Verdana}#ygrp-vital UL { PADDING-RIGHT: 0px;       PADDING-LEFT: 0px;
> PADDING-BOTTOM: 0px; MARGIN: 2px 0px; PADDING-TOP:       0px}#ygrp-vital
> UL LI { CLEAR: both; BORDER-RIGHT: #e0ecee 1px solid;       BORDER-TOP:
> #e0ecee 1px solid; BORDER-LEFT: #e0ecee 1px solid;       BORDER-BOTTOM:
> #e0ecee 1px solid; LIST-STYLE-TYPE: none}#ygrp-vital UL       LI .ct {
> PADDING-RIGHT: 0.5em; FONT-WEIGHT: bold; FLOAT: right; WIDTH:       2em;
> COLOR: #ff7900; TEXT-ALIGN: right}#ygrp-vital UL LI ..cat       {
> FONT-WEIGHT: bold}#ygrp-vital A { TEXT-DECORATION:      
none}#ygrp-vital
> A:hover {
> > TEXT-DECORATION:       underline}#ygrp-sponsor #hd { FONT-SIZE: 77%;
> COLOR:       #999}#ygrp-sponsor #ov { PADDING-RIGHT: 13px; PADDING-LEFT:
> 13px;       MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 6px; PADDING-TOP: 
     6px;
> BACKGROUND-COLOR: #e0ecee}#ygrp-sponsor #ov UL {      
PADDING-RIGHT: 0px;
> PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; MARGIN:       0px; PADDING-TOP:
> 0px}#ygrp-sponsor #ov LI { PADDING-RIGHT: 0px;       PADDING-LEFT: 0px;
> FONT-SIZE: 77%; PADDING-BOTTOM: 6px; PADDING-TOP:       6px;
> LIST-STYLE-TYPE: square}#ygrp-sponsor #ov LI A { FONT-SIZE:       130%;
> TEXT-DECORATION: none}#ygrp-sponsor #nc { PADDING-RIGHT:       8px;
> PADDING-LEFT: 8px; MARGIN-BOTTOM: 20px; PADDING-BOTTOM:       0px;
> PADDING-TOP: 0px; BACKGROUND-COLOR: #eee}#ygrp-sponsor .ad       {
> PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM:       8px;
> PADDING-TOP: 8px}#ygrp-sponsor .ad #hd1 { FONT-WEIGHT:       bold;
> FONT-SIZE: 100%; COLOR: #628c2a; LINE-HEIGHT: 122%;       FONT-FAMILY:
> Arial}#ygrp-sponsor .ad A { TEXT-DECORATION:      
none}#ygrp-sponsor .ad
> A:hover { TEXT-DECORATION:
> >       underline}#ygrp-sponsor .ad P { MARGIN: 0px}o {       FONT-SIZE:
> 0px}..MsoNormal { MARGIN: 0px}#ygrp-text TT {       FONT-SIZE:
> 120%}BLOCKQUOTE { MARGIN: 0px 0px 0px 4px}..replbq {       }
> > 
> >       ---------------------------------
> > Choose the right       car based on your needs. Check out Yahoo! Autos
> new Car Finder       tool.
> >
> 
> 
> 
>     
>     
> ---------------------------------
>     Sick sense of humor? Visit Yahoo! TV's Comedy     with an Edge
to see what's on, when.     
>     
> ---------------------------------
>     
> 
> No virus found in this incoming message.
> Checked by AVG Free     Edition. 
> Version: 7.5.476 / Virus Database: 269.9.14/885 - Release Date:    
7/3/2007 10:02 AM
>   
> 
> 
>    #ygrp-mlmsg {	FONT-SIZE: small; FONT-FAMILY:
arial,helvetica,clean,sans-serif}#ygrp-mlmsg TABLE {	}#ygrp-mlmsg
SELECT {	FONT: 99% arial,helvetica,clean,sans-serif}INPUT {	FONT: 99%
arial,helvetica,clean,sans-serif}TEXTAREA {	FONT: 99%
arial,helvetica,clean,sans-serif}#ygrp-mlmsg PRE {	FONT: 100%
monospace}CODE {	FONT: 100% monospace}#ygrp-mlmsg * {	LINE-HEIGHT:
1.22em}#ygrp-text {	FONT-FAMILY: Georgia}#ygrp-text P {	MARGIN: 0px
0px 1em}#ygrp-tpmsgs {	CLEAR: both; FONT-FAMILY: Arial}#ygrp-vitnav {
FONT-SIZE: 77%; MARGIN: 0px; PADDING-TOP: 10px; FONT-FAMILY:
Verdana}#ygrp-vitnav A {	PADDING-RIGHT: 1px; PADDING-LEFT: 1px;
PADDING-BOTTOM: 0px; PADDING-TOP: 0px}#ygrp-actbar {	CLEAR: both;
MARGIN: 25px 0px; COLOR: #666; WHITE-SPACE: nowrap; TEXT-ALIGN:
right}#ygrp-actbar .left {	FLOAT: left; WHITE-SPACE: nowrap}..bld {
FONT-WEIGHT: bold}#ygrp-grft {	PADDING-RIGHT: 0px; PADDING-LEFT: 0px;
FONT-SIZE: 77%; PADDING-BOTTOM: 15px; PADDING-TOP: 15px; FONT-FAMILY:
>  Verdana}#ygrp-ft {	PADDING-RIGHT: 0px; BORDER-TOP: #666 1px solid;
PADDING-LEFT: 0px; FONT-SIZE: 77%; PADDING-BOTTOM: 5px; PADDING-TOP:
5px; FONT-FAMILY: verdana}#ygrp-mlmsg #logo {	PADDING-BOTTOM:
10px}#ygrp-vital {	PADDING-RIGHT: 0px; PADDING-LEFT: 8px;
MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 8px; PADDING-TOP: 2px;
BACKGROUND-COLOR: #e0ecee}#ygrp-vital #vithd {	FONT-WEIGHT: bold;
FONT-SIZE: 77%; TEXT-TRANSFORM: uppercase; COLOR: #333; FONT-FAMILY:
Verdana}#ygrp-vital UL {	PADDING-RIGHT: 0px; PADDING-LEFT: 0px;
PADDING-BOTTOM: 0px; MARGIN: 2px 0px; PADDING-TOP: 0px}#ygrp-vital
UL LI {	CLEAR: both; BORDER-RIGHT: #e0ecee 1px solid; BORDER-TOP:
#e0ecee 1px solid; BORDER-LEFT: #e0ecee 1px solid; BORDER-BOTTOM:
#e0ecee 1px solid; LIST-STYLE-TYPE: none}#ygrp-vital UL LI .ct {
PADDING-RIGHT: 0.5em; FONT-WEIGHT: bold; FLOAT: right; WIDTH: 2em;
COLOR: #ff7900; TEXT-ALIGN: right}#ygrp-vital UL LI .cat {
FONT-WEIGHT: bold}#ygrp-vital A {	TEXT-DECORATION: none}#ygrp-vital
A:hover {
> 	TEXT-DECORATION: underline}#ygrp-sponsor #hd {	FONT-SIZE: 77%;
COLOR: #999}#ygrp-sponsor #ov {	PADDING-RIGHT: 13px; PADDING-LEFT:
13px; MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 6px; PADDING-TOP: 6px;
BACKGROUND-COLOR: #e0ecee}#ygrp-sponsor #ov UL {	PADDING-RIGHT: 0px;
PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP:
0px}#ygrp-sponsor #ov LI {	PADDING-RIGHT: 0px; PADDING-LEFT: 0px;
FONT-SIZE: 77%; PADDING-BOTTOM: 6px; PADDING-TOP: 6px;
LIST-STYLE-TYPE: square}#ygrp-sponsor #ov LI A {	FONT-SIZE: 130%;
TEXT-DECORATION: none}#ygrp-sponsor #nc {	PADDING-RIGHT: 8px;
PADDING-LEFT: 8px; MARGIN-BOTTOM: 20px; PADDING-BOTTOM: 0px;
PADDING-TOP: 0px; BACKGROUND-COLOR: #eee}#ygrp-sponsor .ad {
PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 8px;
PADDING-TOP: 8px}#ygrp-sponsor .ad #hd1 {	FONT-WEIGHT: bold;
FONT-SIZE: 100%; COLOR: #628c2a; LINE-HEIGHT: 122%; FONT-FAMILY:
Arial}#ygrp-sponsor .ad A {	TEXT-DECORATION: none}#ygrp-sponsor .ad
A:hover {	TEXT-DECORATION:
>  underline}#ygrp-sponsor .ad P {	MARGIN: 0px}o {	FONT-SIZE:
0px}..MsoNormal {	MARGIN: 0px}#ygrp-text TT {	FONT-SIZE:
120%}BLOCKQUOTE {	MARGIN: 0px 0px 0px 4px}..replbq {	}
>        
> ---------------------------------
> Got a little couch potato? 
> Check out fun summer activities for kids.
>




Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/