Welcome to the Traders Laboratory Forums.
Trading Indicators Post your custom trading indicators. If you download, remember to click INSTALL.

Reply
Countdown Timer Details »»
Countdown Timer
Platform: 9, by Tradewinds Tradewinds is offline
Developer Last Online: May 2012 Show Printable Version Email this Page

Platform: Tradestation Rating:
Released: 09-19-2011 Last Update: Never Installs: 0
 
No support by the author.

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

  • If you like to thanks you by the author -> Click Thanks to the Author
  • This modification may not be copied, reproduced or published elsewhere without the author's permission.

Comments
Old 09-20-2011, 10:21 PM   #2

clmacdougall's Avatar

Join Date: Jan 2009
Location: halifax
Posts: 433
Ignore this user

Thanks: 200
Thanked 179 Times in 125 Posts

Re: Countdown Timer

Thanks Tradewinds,

If you use esignal this indicator is easily found along with the volume remaining in a volume based bar if needed.
clmacdougall is offline  
Reply With Quote
The Following User Says Thank You to clmacdougall For This Useful Post:
natty2natty (11-14-2011)

Reply

Thread Tools
Help Others By Rating This Thread
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

All times are GMT -4. The time now is 10:09 PM.
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
CS to VB integration by DeskLancer
©2006-2011 Traders Laboratory, All Rights Reserved.