Hi Thomas. OK, you asked! The idea is to create time at price histograms
(aka Market Profile). Seems to work OK in the chart, and prints OK in the
interpretation window -- However, the exploration values of POC do not match
the chart values. Thanks in advance. Chuck
//////////////////////////////////////////////////////////////////////
//Time at Price Routine (uses 30 minute Timeframe)
//This code to work for ES futures
SetBarsRequired( 1000000, 1000000 );
//Find lowest and highest prices so far in day
Daystart = Cross(TimeNum(),093000);
DayLowPrice = int(LowestSince(DayStart, L));
DayHighPrice = HighestSince(DayStart, H);
Increment = .25; Numperiods = 13;
//Get data from 30 minute timeframe
TimeFrameSet(in1Minute*30);
Daystart2 = Cross(TimeNum(),093000);
Currentbar = BarsSince(Daystart2)+1;
TimeFrameRestore();
Currentbar2 = TimeFrameExpand(Currentbar, in1Minute*30);
BarLow2 = TimeFrameExpand(L, in1Minute*30);
BarHigh2 = TimeFrameExpand(H, in1Minute*30);
//Calculate and print Time at Prices and Point of Control (POC)
PeriodTime = 0; MaxPrice = 0; POC = 0;
for (i = SelectedValue(DayHighPrice) - SelectedValue(DayLowprice); i>=0;
i=i-Increment) //Loop across prices
{printf ("\n" + WriteVal (Daylowprice+i, 5.2)+ ": ");
for (j = 1; j <= SelectedValue(Min(CurrentBar2, NumPeriods)); j++) //Loop
across time periods
{
if (j==1) {PeriodTime[i] = 0; }
PriceInPeriod = DayLowprice+i >= ValueWhen(currentBar2 == j, Barlow2) AND
DayLowprice+i <= ValueWhen(currentBar2 == j, BarHigh2);
PeriodTime[i] = periodtime[i]+SelectedValue(PriceinPeriod); //Sum number of
times for the price
Char = "";
if (j==1) {Char = "A";} if (j==2) {Char = "B";} if (j==3) {Char = "C";} if
(j==4) {Char = "D";} if (j==5) {Char = "E";}
if (j==6) {Char = "F";} if (j==7) {Char = "G";} if (j==8) {Char = "H";} if
(j==9) {Char = "I";} if (j==10) {Char = "J";}
if (j==11) {Char = "K";} if (j==12) {Char = "L";} if (j==13) {Char = "M";}
Char = WriteIf(PriceInPeriod, Char, "");
printf (Char);
}
Tprice=Max(Periodtime[i], Maxprice);
POC = IIf(Periodtime[i] > MaxPrice, DayLowPrice+i, poc);
MaxPrice = TPrice;
}
//////////////////////////////////////////////
Filter = Cross(TimeNum(), 160000);
AddColumn(POC, "POC", format = 8.4);
AddColumn(H, "Hi gh", format = 8.4);
AddColumn(L, "Low", format = 8.4);
AddColumn(C, "Close", format = 8.4);
NumColumns= 4;
//PRINT THE TITLES AND PLOT CANDLES
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = _DEFAULT_NAME() + " {{DATE}} {{INTERVAL}} " +
" H = " + WriteVal(H) +
" L = " + WriteVal(L) +
" C = " + WriteVal(C) +
" POC = " + WriteVal(POC ));
Plot( C, "Close", colorYellow, styleNoTitle | ParamStyle("Style") |
GetPriceStyle() );
PlotShapes(Cross(TimeNum(), 093000)* shapeSmallCircle, colorYellow, 0,
Close, Offset=0);
PlotShapes(Cross(TimeNum(), 160000)* shapeSmallCircle, colorWhite, 0, Close,
Offset = 0);
----- Original Message -----
From: "Thomas Z" <tzg@xxxxxxxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Saturday, October 29, 2005 10:18 AM
Subject: Re: [amibroker] Exploration logic
Hi Chuck,
yes, normally it works this way.
Send the code so we can tell you or find the reason.
Regards
Thomas
www.tradingbasis.com
Chuck wrote:
I figured that running exploration with filter = 1 and "all quotations"
selected was equivalent to moving the cursor bar across the entire chart.
So whatever calculated values show up when the cursor is over a given bar
should be the same as those reported on the exploration. I'm finding
this
is not the case. Does anyone know why this might be happening?
Barry suggested adding the line:
SetBarsRequired( 1000000, 1000000 );
But that doesn't change anything.
Thanks in advance
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 other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
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 other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
------------------------ Yahoo! Groups Sponsor --------------------~-->
Try Online Currency Trading with GFT. Free 50K Demo. Trade
24 Hours. Commission-Free.
http://us.click.yahoo.com/RvFikB/9M2KAA/U1CZAA/GHeqlB/TM
--------------------------------------------------------------------~->
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 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/
<*> 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/