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@xxxxxxxxxps.com,
Ed Middleton <jjj_98@xxx> 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@xxxxxxxxxps.com
> 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@xxxxxxxxxps.com,
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@xxxxxxxxxps.com
> > 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@xxxxxxxxxps.com,
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@xxxxxxxxxps.com
> > >
> > > 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@xxxxxxxxxps.com
> > >
> > > 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@xxxxxxxxxps.com
> > >
> > > 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.
>