| / | Forum |
|
CppNovice
2008.01.15 18:05
How would one go about guaranteeing that each bar is only processed once?
I have a routine that performs some counting on each bar of occurrences of a setup. I need to make sure that each bar is only processed once so that each "occurrence" of this setup is only counted once. I can only need to process each bar after the bar itself is closed ... not tick by tick. Any ideas would be greatly appreciated. |
|
Synchronization of Expert Advisors, Scripts and Indicators The article considers the necessity and general principles of developing a bundled program that would contain both an Expert Advisor, a script and an indicator. |
|
BarrowBoy
2008.01.15 18:27
Use this - OTTOMH :) if (Volume[0]>1) return(0); // quit AFTER first tick of new, allowing you to evaluate High[1] etc ONCE below this line |
|
Automated
2008.01.15 18:54
You could execute your code at the very first tick of a new bar ( i.e. right after the previous bar has closed ). Here's a function that will return TRUE if a new bar has just formed: // This function returns TRUE at the very first tick a bar i.e. after the previous bar has just closed bool NewBar() { if(PreviousBarTime<Time[0]) { PreviousBarTime = Time[0]; return(true); } return(false); // in case if - else statement is not executed } you need to declare datetime PreviousBarTime at the beginning of your EA... then in your code you could just use if ( NewBar() ) { ...... code you need to be executed after a bar has closed here .... } thank you automatedfx@gmail.com |