Difference between revisions of "RecalcLastBarAfter"

From MultiCharts
Jump to navigation Jump to search
m
Line 7: Line 7:
 
When the tick has been received before timeout expiration, time counter is reset and countdown for RecalcLastBarAfter(Timeout) starts anew.
 
When the tick has been received before timeout expiration, time counter is reset and countdown for RecalcLastBarAfter(Timeout) starts anew.
  
==== Usage ====
+
== Usage ==
  
 
<syntaxhighlight>RecalcLastBarAfter(Timeout)</syntaxhighlight>  
 
<syntaxhighlight>RecalcLastBarAfter(Timeout)</syntaxhighlight>  
  
Where: [[Timeout - the number of seconds.]]
+
Where:  
 +
 
 +
:'''Timeout''' - the number of seconds.  
 
   
 
   
 
== Example ==
 
== Example ==
Line 37: Line 39:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Also note that in this example the RecalcLastBarAfter statement is only active if the condition returns true, meaning that if the current bar isn't the [[LastBarOnChart]], the RecalcLastBarAfter statement is not executed.
+
Also note that in this example the RecalcLastBarAfter statement is only active if the condition returns true, meaning that if the current bar isn't the LastBarOnChart, the RecalcLastBarAfter statement is not executed.
  
 
[[Category:Execution Control]]
 
[[Category:Execution Control]]

Revision as of 05:52, 9 February 2012

Initializes the calculation after expiration of the timeout, set in seconds.

RecalcLastBarAfter is used for the slow markets in which new ticks come in infrequently. Normally, calculation of the studies is performed in events when the immediate tick has come to a chart.

When the tick has not come since the moment of the last calculation and during timeout (sec) a new calculation is being initialized.

When the tick has been received before timeout expiration, time counter is reset and countdown for RecalcLastBarAfter(Timeout) starts anew.

Usage

RecalcLastBarAfter(Timeout)

Where:

Timeout - the number of seconds.

Example

if (LastBarOnChart_s = True) then begin

   Print("Current time: ", FormatTime("HH:mm:ss", ELTimeToDateTime_s(CurrentTime_s)), ".");
   
   RecalcLastBarAfter(5);
   
end;

Returns the following:

Current time: 13:29:10.
Current time: 13:29:15.
Current time: 13:29:20.
Current time: 13:29:25.
Current time: 13:29:30.
Current time: 13:29:35.
Current time: 13:29:40.

Also note that in this example the RecalcLastBarAfter statement is only active if the condition returns true, meaning that if the current bar isn't the LastBarOnChart, the RecalcLastBarAfter statement is not executed.