Implementing a Trading Pause After a Loss in ProBuilder

01 Jan 2025
0 comment
0 attachment

This ProBuilder code snippet demonstrates how to implement a trading pause for a specified number of bars after incurring a loss in a trading strategy. The purpose is to avoid entering new trades immediately after a losing trade, which can be part of a risk management strategy.


if not onmarket and onmarket[1] and positionperf(1)<0 then
    mybar = barindex[1]
endif

if barindex-mybar>X then
    autorisetrading = 1
else
    autorisetrading = 0
endif

if autorisetrading then
    //ACHAT
    if conditionachat then
        buy 1 contract at market
    endif
    //VENTE
    if conditionvente then
        sellshort 1 contract at market
    endif
endif

Explanation of the code:

  • Checking the last trade result: The first if statement checks if the market is not currently in a trade, but was in the previous bar (onmarket[1]), and the last position resulted in a loss (positionperf(1)<0). If these conditions are met, it records the bar index of the last trade's closure in mybar.
  • Implementing the trading pause: The second if statement checks if the current bar index minus mybar is greater than X (where X is the number of bars to pause trading after a loss). If true, trading is authorized (autorisetrading = 1); otherwise, it is not authorized (autorisetrading = 0).
  • Executing trades: The final if statement allows new trading actions if trading is authorized. Inside this block, there are two conditions: one for buying (conditionachat) and one for selling (conditionvente). If the respective condition is true, a trade is executed either by buying or selling short one contract at the market price.

This snippet is useful for traders who want to incorporate a cooling-off period into their automated strategies to potentially reduce risk after a losing trade.

Related Post

Check out this related content for more information:

https://www.prorealcode.com/topic/arret-dune-strategie-pendant-x-periodes-apres-une-perte/#post-49032

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...