background

Tradematic Support Center

Guides, articles, videos and links for Tradematic users and developers.

How to code stop-loss and take-profit for trading inside the bar?

86629ARTICLE CODE EDITOR BREAKOUT BREAK TOUCH INSIDE BAR BUYATSTOP SELLATLIMIT RUN EVERY

Stop-loss/take-profit inside the bar triggers when High and Low prices of the current bar break stop-loss/take-profit level. Use High and Low prices to save this signal at the performance chart of strategy. The pre class='prettyprint' looks the following way:

//conditions for closing long position
//stop-loss for long position
if (Low[bar]<=LastPosition.EntryPrice*(1-X/100))
	SellAtPrice(bar, LastPosition.EntryPrice*(1-X/100), LastPosition,"Stop-loss");
//take-profit for long position
else if (High[bar]>=LastPosition.EntryPrice*(1+X/100))
	SellAtPrice(bar, LastPosition.EntryPrice*(1+X/100), LastPosition,"Take-profit");

//conditions for closing short position
//stop-loss for short position
if (High[bar]>=LastPosition.EntryPrice*(1+X/100))
	CoverAtPrice(bar, LastPosition.EntryPrice*(1+X/100), LastPosition,"Stop-loss");
//take-profit for short position
else if (Low[bar]<=LastPosition.EntryPrice*(1-X/100))
	CoverAtPrice(bar, LastPosition.EntryPrice*(1-X/100), LastPosition,"Take-profit");

Please take into account, that the result can be imprecise due to lack of information what occurred first – condition for take-profit or condition for stop-loss.

Second variant of stop-loss and take-profit for trading inside the bar:

if (MarketPosition == 1)
{
		// Close long position

                // Take-profit if entry price increases by 5%
		SellAtLimit(bar,LastPosition.EntryPrice*1.05, LastPosition, "TP (LX)");

                // Stop-loss if entry price decreased by 3%
		SellAtStop(bar,LastPosition.EntryPrice*0.97, LastPosition, "SL (LX)"); 

		// Other conditions for closing
                ...
}

We have added take-profit for price increase by 5%, and stop-loss for price decrease by 3%. Add such pre class='prettyprint' to the block of position closing.

This website uses cookies. By continuing to use this website, you consent to our Privacy Policy. OK