| Trading Indicators Post your custom trading indicators. If you download, remember to click INSTALL. |
![]() | | Tweet | |
Countdown Timer Details »» | |||||||||||||||||||||||||
Counts down the time left in a minute bar. Code: { This code is a modified version of _TimerExample4
v1.0 8 August 2011
Designed for tradestation 9
This code is a simple bar countdown timer for minute bars.
}
using elsystem;
vars: TxtID(0), IntrabarPersist DisplayTxt(" "), IntrabarPersist mins(0), IntrabarPersist secs(0),
IntrabarPersist mins_str(""), IntrabarPersist secs_str(""),
IntrabarPersist FrstCalc(true),
Timer Timer1(null);
method void Timer1_Elapsed( Object sender, TimerElapsedEventArgs args )
begin
Calc_Time_Remaining(); //Call Subroutine that calculates the time remaining
Display_Text(); //Call Subroutine that displays time remaining
end;
//Calculate the amount of time remaining in the bar
// This is reasonably complex, but isn't particularly relevant to how the Timer object works
// so you don't need to understand it
method void Calc_Time_Remaining()
begin
//If its the end of a bar then set the countdown to the bar interval
if BarStatus(1) = 2 then begin
mins = BarInterval;
secs = 0;
FrstCalc = false;
//Turning time off and back on to sync it with the bar end
Timer1.Enable = false;
Timer1.Enable = true;
end
//Countdown our timer
else if FrstCalc = false then begin
secs = secs - 1;
if secs < 0 then begin
mins = mins - 1;
secs = 59;
end;
DisplayTxt = " " + mins_str +":" + secs_str;
End
//First approximation of bar time, before end of bar sync.
// It uses your computer clock to work out roughly how much time is left in a bar.
else begin
//mins = BarInterval - Mod(MinutesFromDateTime(ComputerDateTime), BarInterval);
//secs = 60 - SecondsFromDateTime(ComputerDateTime);
//if secs = 60 then secs = 0;
//if secs > 0 then mins = mins - 1;
DisplayTxt = "Syncing...";
end;
//Set our DisplayTxt variable to the correct string
mins_str = NumToStr(mins, 0);
secs_str = NumToStr(secs, 0);
if strlen(secs_str) = 1 then secs_str = "0" + secs_str;
end;
//Display our countdown text
method void Display_Text()
begin
If secs = 10 then Condition1 = (Playsound("c:\wave\Ten.wav"));
If secs = 5 then Condition2 = (Playsound("c:\wave\5.wav"));
if secs <= 5 then
text_SetColor(TxtID, Red) // Use Alert Color
Else text_SetColor(TxtID, Blue);
Text_SetString(TxtID, DisplayTxt);
Text_SetLocation(TxtID, D, T, (H+L)/2);
Text_SetStyle(TxtID, 0, 2);
end;
once
begin
//Create the Timer, set it to update every second, but don't start it yet
Timer1 = new elsystem.Timer;
Timer1.Interval = 1 * 1000;
Timer1.Elapsed += Timer1_Elapsed;
//Create the text to display the countdown
TxtID = Text_New(date, time, (H+L)/2, DisplayTxt);
end;
//When the first real-time tick arrives...
if GetAppInfo(aiRealTimeCalc) = 1 then begin
//...start the Timer
Timer1.Enable = true;
//Set the amount of time left in a bar at the end of every bar
if BarStatus(1) = 2 then begin
Calc_Time_Remaining();
end;
end;
Display_Text(); Show Your Support
| |||||||||||||||||||||||||
| Comments |
| | #2 | ||
![]() | Re: Countdown Timer If you use esignal this indicator is easily found along with the volume remaining in a volume based bar if needed. | ||
| |
|
| The Following User Says Thank You to clmacdougall For This Useful Post: | ||
natty2natty (11-14-2011) | ||
![]() |
| Thread Tools | |
| Help Others By Rating This Thread | |
| |
| ∧ Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Timer Class | Tradewinds | TradeStation Custom Programming | 0 | 08-29-2011 12:31 AM |
| Bar Countdown Timer | Tradewinds | TradeStation Custom Programming | 5 | 08-17-2011 10:20 PM |
| Minute Timer for Tradestation | Soultrader | Trading Indicators | 3 | 03-25-2009 01:56 PM |