Detecting Orders Opened and Closed Within the Same Bar in ProBuilder

22 Jan 2020
0 comment
0 attachment

This ProBuilder code snippet is designed to detect scenarios where a trading order is opened and closed within the same bar, which can be crucial for analyzing trade execution and strategy performance.


if ( (not onmarket and onmarket[1]) or (tradeindex(1)=tradeindex(2) and tradeindex(1)=barindex[1] and tradeindex(1)>0) ) and lastcheck<>barindex then
    lastcheck = barindex
    wasonmarket=1
else
    wasonmarket=0
endif

This code snippet checks specific conditions to determine if an order was both opened and closed within the same bar. Here’s a step-by-step explanation:

  • Condition Check: The if statement contains two main conditions connected by an or operator, meaning if either condition is true, the code inside the if block will execute.
  • First Condition: (not onmarket and onmarket[1]) checks if the current bar is not on the market but the previous bar was, indicating a potential quick open and close.
  • Second Condition: (tradeindex(1)=tradeindex(2) and tradeindex(1)=barindex[1] and tradeindex(1)>0) checks if the trade index of the current and previous trades are the same and matches the bar index of the previous bar, which also suggests a trade opened and closed within one bar.
  • Additional Check: lastcheck<>barindex ensures that this check is only performed once per bar to avoid repeated evaluations.
  • Updating Variables: If the condition is true, lastcheck is updated to the current barindex, and wasonmarket is set to 1, indicating that there was a market presence in this bar.
  • Else Block: If none of the conditions are met, wasonmarket is set to 0, indicating no market presence in the bar.

This snippet is useful for traders and analysts using automated trading systems to ensure accurate tracking and analysis of trades that open and close rapidly within a single price bar.

Related Post

Check out this related content for more information:

https://www.prorealcode.com/topic/how-to-find-limit-order-has-been-executed-or-not/#post-105732

Visit Link
What is a Snippet? A snippet is a small, reusable chunk of code designed to solve specific tasks quickly. Think of it as a shortcut that helps you achieve your coding goals without reinventing the wheel. How to Use: Simply copy the snippet and paste it into your project where needed. Don't forget to tweak it to fit your context. Snippets are not just time-savers; they're also learning tools to help you become a more efficient coder.
Nicolas Master
I created ProRealCode because I believe in the power of shared knowledge. I spend my time coding new tools and helping members solve complex problems. If you are stuck on a code or need a fresh perspective on a strategy, I am always willing to help. Welcome to the community!
Author’s Profile

Comments

Search Snippets

Showing some results...
Sorry, no result found!

Snippets Categories

global
35
indicator
133
strategy
171

Recent Snippets

How to Create a Simple MTF Trend Dashboard with EMA and SMA
indicator
This indicator builds a compact multi-timeframe (MTF) dashboard that shows whether price is trading above or below a [...]
How to Display Per-Bar Volume Accumulation in Real Time (Intrabar Updates)
global
This snippet tracks and displays the current bar’s accumulated volume while the bar is still forming, instead of only [...]
Ticks Counter: Count Tick Updates Per Bar on Tick or Time Charts
global
This snippet counts how many tick updates have occurred for the current bar by incrementing a per-bar counter on each [...]
How to Build a Step-Based Trailing Stop That Moves to Break-Even First
strategy
This snippet implements a step trailing stop that advances in fixed increments once price reaches predefined profit [...]
Utilizing Arrays to Track and Compare Indicator Values Within the Same Bar in ProBuilder
indicator
This ProBuilder code snippet demonstrates how to use arrays to compare the values of an indicator (RSI in this case) [...]
Logo Logo
Loading...