Isn’t the following simpler? (available to ALL
charts )
//////////////////////////////////////////
NameL = StrLeft(Name(),4); //truncate Symbol
to 4 characters used in Titles
SymbL1 = StrLeft(Name(),1); //truncate name
to 1 left char, differentiate start time of currencies
SymbL2 = StrLeft(Name(),2);
StaticVarSetText("NameL"+Name(),NameL);
StaticVarSetText("SymbL1"+Name(),SymbL1);
StaticVarSetText("SymbL2"+Name(),SymbL2);
Title = NameL+StrFormat("-
{{INTERVAL}} {{DATE}} , C=%g, H=%g, L=%g,
V={{VALUES}}"+
NumToStr(Volume,1.0,separator=True),
C, H, L);
//permanent
TickSize for all futures
TickSize_ = IIf(SymbL1 == "6" OR SymbL2
== "E7", 0.0001,
IIf(SymbL2 == "6B" , 0.0002,
IIf(SymbL2 == "6J" , 0.000001,
IIf(SymbL2 == "ER" OR SymbL2
== "SP" OR SymbL2
== "IN" OR SymbL2
== "ME", 0.1,
IIf(SymbL2 == "ES" OR SymbL2
== "NQ", 0.25,
IIf(SymbL2 == "YM" OR SymbL2
== "TI" OR SymbL2
== "HS", 1.0, 0.01))))));
InvTick = Nz(1/TickSize_,0.001) ; // save On
divisions
PriceFormat = IIf(SymbL1 == "6" OR
SymbL2=="E7", 1.4,
IIf(SymbL2 == "6J" , 1.7,
IIf(SymbL2 == "ER" OR SymbL2
== "SP" OR SymbL2
== "IN" OR SymbL2
== "ME", 1.1,
IIf(SymbL2 == "YM" OR SymbL2
== "TI" OR SymbL2
== "HS", 1.0, 1.2))));
StaticVarSet("TickSize_"+Name(),TickSize_);
StaticVarSet("InvTick"+Name(),LastValue(InvTick) ) ;
StaticVarSet("PriceFormat"+Name(),PriceFormat);
//PointValue =
not implemented yet additions welcome…
//////////////////////////////////////////
Joseph Biran
____________________________________________
-----Original Message-----
From: amibroker@xxxxxxxxxxxxxxx On Behalf Of vlanschot
Sent: Tuesday, January 29, 2008 9:10 AM
To: amibroker@xxxxxxxxxxxxxxx
Subject: [amibroker] Re: Multiple string constants in switch() case statement
Perhaps importing your details via the ASCII-importer is
a solution.
You basically input&update your details for a list of
symbols for
example in a XL-file, save it as a csv-file, and import
once after
each adjustment:
Your format-file (to call via the ASCII-importer) looks,
for example,
like this:
$FORMAT Ticker,FullName
$SKIPLINES 1
$SEPARATOR ,
$OVERWRITE 1
$AUTOADD 1
$NOQUOTES 1
The actual csv-file which you then import looks like
this:
Ticker,Fname
ACNFCOMF IX,ABC News Washington Post US Weekly Consumer
Comfort Index
ADP CHNG IX,ADP National Employment Report SA Private
Nonfarm Level
Change
CHPMINDX IX,US Chicago Purchasing Managers Index SA
Obviously, you will need to use/add the variable names
for the
specific items you want to include in your overview but
these are
described in the User Manual; search for ascii)
PS
--- In amibroker@xxxxxxxxxxxxxxx, "J. Biran"
<jbiran@xxx> wrote:
>
>
> Because future contracts expire and the job needs to
be
> repeated over and over
>
> Joseph Biran
> ____________________________________________
> -----Original Message-----
> From: amibroker@xxxxxxxxxxxxxxx
> [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of
Tomasz
> Janeczko
> Sent: Tuesday, January 29, 2008 4:17 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: Re: [amibroker] Re: Multiple string
constants in
> switch() case statement
>
> Why don't you just use the EDIT fields
> in the View->Information window.
>
> There are fields that allow you to enter point value,
ticksize
> and margin deposit on per-symbol basis
> and you don't need to code it at all!
>
> http://www.amibroker.com/guide/w_information.html
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: "bilbo0211" <bilbod@xxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Tuesday, January 29, 2008 7:48 AM
> Subject: [amibroker] Re: Multiple string constants
in switch()
> case statement
>
>
> >I think what you want is:
> >
> > symcurrency = StrToUpper( StrLeft( sym, 6 ) );
> > switch ( symcurrency )
> > {
> > case "AUDUSD":
> > case "CADUSD":
> > case "CHFUSD":
> > case "EURUSD":
> > case "GBPUSD":
> > case "HKDUSD":
> > case "MXNUSD":
> > case "NLGUSD":
> > case "NZDUSD":
> > case "SEKUSD":
> > case "SGDUSD":
> >
> > myPointValue = 100000;
> > myTickSize = 0.0001;
> > myMarginDeposit = 1000;
> > break;
> >
> > case "JPYUSD"
> > :
> > myPointValue = 100000;
> > myTickSize = 0.01;
> > myMarginDeposit = 1000;
> > break;
> >
> > I think a simpler way to accomplish your goal
is:
> >
> > mult=IIF(C>10,100,1);
> > myTickSize = 0.0001*mult;
> >
> > Bill
> >
> > --- In amibroker@xxxxxxxxxxxxxxx,
"whitneybroach"
> <WhitneyBroach@>
> > wrote:
> >>
> >> Can it be done? Formula Editor
doesn't like this, but I
> wonder
> >> something similar is even possible?
> >>
> >>
////////////////////////////////////////////
> >> symcurrency = StrToUpper( StrLeft( sym, 6 )
);
> >> switch ( symcurrency )
> >> {
> >> case "AUDUSD"
> >> ,"CADUSD"
> >>
,"CHFUSD"
> >>
,"EURUSD"
> >>
,"GBPUSD"
> >>
,"HKDUSD"
> >>
,"MXNUSD"
> >>
,"NLGUSD"
> >>
,"NZDUSD"
> >>
,"SEKUSD"
> >>
,"SGDUSD"
> >> :
> >> myPointValue =
100000;
> >> myTickSize =
0.0001;
> >> myMarginDeposit =
1000;
> >> break;
> >>
> >> case "JPYUSD"
> >> :
> >> myPointValue =
100000;
> >> myTickSize = 0.01;
> >> myMarginDeposit =
1000;
> >> break;
> >>
> >> default:
> >> myPointValue
= PointValue;
> >>
myTickSize = TickSize;
> >> myMarginDeposit =
MarginDeposit;
> >> }
> >>
////////////////////////////////////////////