Implementing a Trading Cooldown Period Using Bar Index and Timestamp in ProBuilder

16 Sep 2021
0 comment
0 attachment

This code snippet demonstrates how to implement a cooldown period in trading, where no new trades are initiated for a specified number of bars or seconds after the last trade was closed. This is useful in strategies where you want to avoid re-entering the market too quickly after exiting a position.


// Cooldown using bar index
if not onmarket and onmarket[1] then 
    bar = barindex 
endif 
if CONDITIONSachats and barindex - bar >= 9 then 
    // J'ACHETE !
endif 

// Cooldown using timestamp
if not onmarket and onmarket[1] then 
    lasttime = timestamp 
endif 
if CONDITIONSachats and timestamp - lasttime >= 2700 then 
    // J'ACHETE !
endif

The code is divided into two sections, each implementing a cooldown mechanism using different methods:

  • Cooldown Using Bar Index:
    • The code checks if the trading status changed from ‘in the market’ in the previous bar to ‘not in the market’ in the current bar.
    • If this condition is met, it records the current bar index.
    • Before initiating a new trade, it checks if the current bar index is at least 9 bars greater than the recorded bar index when the last trade was closed.
  • Cooldown Using Timestamp:
    • Similarly, this section checks for a change in market status from the previous to the current bar.
    • If the trader is no longer in the market, it records the current timestamp.
    • It then checks if the current timestamp is at least 2700 seconds (45 minutes) greater than the timestamp when the last trade was closed before allowing a new trade.

Both methods ensure that trading does not resume immediately after exiting a position, which can be crucial for strategies that require a cooling-off period to avoid market noise or to comply with trading rules.

Related Post

Check out this related content for more information:

https://www.prorealcode.com/topic/sleep-trading-pendant-6-periodes/#post-208897

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 Legend
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
135
strategy
171

Recent Snippets

A multi indicator Dashboard for ProRealTime
indicator
This snippet creates a compact on-chart dashboard that aggregates multiple indicator states into a single, readable [...]
How to Track Up/Down Cumulative Volume Inside Each Candle (Tick Volume Delta)
indicator
This snippet separates the real-time, intra-candle volume into up-volume and down-volume based on whether the last [...]
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 [...]
Logo Logo
Loading...