A countdown timer would be nice, like on most other platforms. So you have an idea of how many shares are need to complete a bar.
Time and Sales as well?
Time and Sales as well?
Quote from tomu:
I don't understand what you are talking about? What do you mean by bar?
Quote from Andrew Kirillov:
Hi forrestang,
Volume countdown can be easily coded in MultiCharts. Moreover, if I am not mistaken our customers have already written one. If you are a registered MC user, you can log into our forum and search for one or contact us for this study.
Regards.
Quote from Aok:
Copy and paste Forrest.
*******************************
[LegacyColorValue = true];
{ WAV_MinTimer Indicator WAV 7/19/04
for intra-day, time-based charts only
Borrows some from eKam Timer (thanks)..
uses BarStatus to read time at end of bar
and reset params
once-a-bar alert
7/21/04
slight mod to alert for 1st bar of day
7/26/04
slight mods to allow for text position to right
best to use HOffset = 0 and at least 6 bars to the right
ok with regular bar types...but not for Heikin Ashi bars (yet)
uses GetTickValue function
7/27/04
added PostText string input ...added after number of seconds left
8/11/04
changed time format...now shows minutes:seconds
now has better horiz offset ... can move further to right of last bar
(use negative HOffset for this)
}
inputs: Hspacer(10),Vspacer(80),AlertSecs(25),TextColor(magenta),
AlertColor(yellow),soundoff(false);
vars: txt(-1),str(""),SecsLeft(0),value2(0),ref(0),spacer(""),
StartTime(0),IntervalSecs(0),n(0),
EndTime(0), TextID(-1),AlertTime(0);
if BarNumber = 1 then begin
TextId = Text_New( date, time, 0, "." );
value2= text_new(date,time,close," ");
Text_SetColor(value2,Textcolor); Text_setStyle(value2,2,0);
for n= 1 to Hspacer begin
spacer=spacer+" ";
end;
end;
if LastBarOnChart and BarType = 1 then
begin
//set BarInterval time to seconds
IntervalSecs = BarInterval*60;
//Barstatus: 0=opening tick...2=closing tick...1=other tick
if BarStatus(1) = 2 then //closing tick ...so reset params and draw new text
begin
//convert fraction portion of time to seconds ...(from days to seconds)
StartTime = FracPortion(ComputerDateTime)*86400; //24*60*60
//calc when time is up
EndTime = StartTime + IntervalSecs;//calc time when bar should be done
//make string to output
value1 = SecsLeft / 60;//minutes
str = NumToStr(IntPortion(value1),0)+":";
value1 = SecsLeft - 60*IntPortion(value1);
str = str + NumToStr(value1,0);
ref = text_SetVertLocation(value2,Vspacer);
ref = text_SetString(value2,str+spacer);
//delete old txt
{
if txt > 0 then
text_Delete(txt);
if HOffset <= 0 then
begin
//move text to right of last bar
txt = text_new(date,Calctime( Time, -HOffset*BarInterval),
high + GetTickValue,str);
text_SetStyle(txt,0,1);//set right and top
end else
begin
//text to left of last bar
txt = text_new(date[HOffset],Time[HOffset],
high + GetTickValue,str);
text_SetStyle(txt,1,2);
end;
text_SetColor(txt,TextColor);
}
end;
//get time at new tick
if BarStatus(1) = 1 and EndTime > 0 then
begin
//calc seconds remaining
SecsLeft = EndTime - FracPortion(ComputerDateTime)*86400;
//update text
if SecsLeft >= 0 then
begin
value1 = SecsLeft / 60;//minutes
str = NumToStr(IntPortion(value1),0)+":";
value1 = SecsLeft - 60*IntPortion(value1);
str = str + NumToStr(value1,0);
ref = text_SetVertLocation(value2,Vspacer);
ref = text_SetString(value2,str+spacer);
{
//str = " "+NumToStr(SecsLeft,0)+PostText;
text_SetString(txt,str);
//have text move with price...if using HOffset = 0
if HOffset <= 0 then
begin
if close < open then
text_SetLocation(txt,date,Calctime( Time, -HOffset*BarInterval),
high + GetTickValue)
else
text_SetLocation(txt,date,Calctime( Time, -HOffset*BarInterval),
low - GetTickValue);
end;
}
end;
//see if time for alert
//be sure SecsLeft not a huge negative number on 1st bar of day
if SecsLeft <= AlertSecs and SecsLeft >= 0 and soundoff=true then
begin
text_SetColor(value2,AlertColor);
AlertTime = text_GetTime(TextID);
if AlertTime <> time then
begin
alert(NumToStr(SecsLeft,0) + " seconds");
text_SetLocation(TextID,date,time,0);
end;
end;
end;
end;
*****************************
Enjoy