Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

TradeMonster

TS Indicator Know if Long/Short for Equity Curves?

Recommended Posts

Is there a way for a TS indicator to know if a strategy position is long/short?

 

I am trying to create a "max possible gain" and "max possible loss" line as an indicator below a strategy chart. Starting with the basic code from emini-edges, I have the below which works reasonably well based on closing prices of bars.

 

I would like to have the "max..." lines actually depict the true "max profit" for the High/Low of bars for Long/Short positions. Since indicators can't use EntryPrice and strategies can't use Plotx, how can I either know if the position is long or short, or how can I properly position these "max" lines to show high/low of bars with knowledge of being long/short? :crap:

 

Thanks,

TM

 

Input: DayPositiveColor(Cyan),DayNegativeColor(DarkCyan),OpenPositiveColor(Green),OpenNegativeColor(Red),MaxPossibleProfitColor(Yellow),MaxPossibleLossColor(DarkMagenta),ZeroLineColor(DarkGray);

Variables:
OpenProfit(0),DayProfit(0),PLB4Today(0),MaxPossibleProfit(0),MaxPossibleLoss(0),OpenEq(0);

OpenProfit = I_OpenEquity;
OpenEq = I_OpenEquity - I_ClosedEquity;

If date <> date[2] Then 
begin
	PLB4Today = OpenProfit[1];
	MaxPossibleProfit = 0;
	MaxPossibleLoss = 0;
end;

DayProfit = OpenProfit - PLB4Today;

If (DayProfit > 0) Then SetPlotColor(2, DayPositiveColor)
Else SetPlotColor( 2, DayNegativeColor );

If (OpenEq > 0) Then SetPlotColor(3, OpenPositiveColor)
Else SetPlotColor(3, OpenNegativeColor);

// Check for all conditions of max profit potential of the day - Long trades
If MaxPossibleProfit < DayProfit then
MaxPossibleProfit = DayProfit{ + ((High-Close)*BigPointValue)};
If MaxPossibleProfit < OpenEq then
MaxPossibleProfit = OpenEq{ + ((High-Close)*BigPointValue)};

// Check for all conditions of max loss potential of the day - Long trades
If MaxPossibleLoss > OpenEq then
MaxPossibleLoss = OpenEq{ - ((Close-Low)*BigPointValue)};
If MaxPossibleLoss > DayProfit then
MaxPossibleLoss = DayProfit{ - ((Close-Low)*BigPointValue)};

//Short trades? (How can an indicator know if long/short?)

Plot1(0,"Zero Line",ZeroLineColor);
Plot2(DayProfit,"Daily P&L");
Plot3(OpenEq,"Open P&L");
Plot4(MaxPossibleProfit, "Max Profit", MaxPossibleProfitColor);
Plot5(MaxPossibleLoss, "Max Loss", MaxPossibleLossColor);

Share this post


Link to post
Share on other sites

Hi,

 

Since indicators can't use EntryPrice and strategies can't use Plotx, how can I either know if the position is long or short,

 

Have you tried I_MarketPosition and I_AvgEntryPrice in Indicators.?

 

EasyTrader_I.

Edited by EasyTrader_I
Bold

Share this post


Link to post
Share on other sites

EasyTrader_I,

 

Thanks! I have a long background in programming, and EL is new to me - thanks for your help!

 

If people want to have their equity curves based on bar closings, use the code in the original post. For those that like using the high/low of bars as a pseudo measure of "efficiency" of a trading day, please use the code below.

 

 

TradeMonster

 

Input:
   NumDayColors(1),
   DayPositiveColor(Cyan),
   DayNegativeColor(DarkCyan),
   NumOpenColors(2),
   OpenPositiveColor(Green),
   OpenNegativeColor(Red),
   ClosedProfitColor(Blue),
   MaxPossibleProfitColor(Yellow),
   MaxPossibleLossColor(DarkMagenta),
   ZeroLineColor(DarkGray);

Variables:
   OpenProfit(0),
   DayProfit(0),
   PLB4Today(0),
   MaxPossibleProfit(0),
   MaxPossibleLoss(0),
   OpenEq(0),
   MP(0),
   AvgEntry(0),
   ClosedProfit(0);

// == PROGRAM STARTS HERE ====================================================================
If date <> date[2] Then 
   begin
       PLB4Today = OpenProfit[1];
       MaxPossibleProfit = 0;
       MaxPossibleLoss = 0;
   end;

OpenProfit = I_OpenEquity;
OpenEq = I_OpenEquity - I_ClosedEquity;
MP = I_MarketPosition;
AvgEntry = I_AvgEntryPrice;
ClosedProfit = I_ClosedEquity - PLB4Today;
DayProfit = OpenProfit - PLB4Today;

If (NumDayColors = 1) or (DayProfit > 0) Then SetPlotColor(2, DayPositiveColor)
Else SetPlotColor(2, DayNegativeColor);

If (NumOpenColors = 1) or (OpenEq > 0) Then SetPlotColor(3, OpenPositiveColor)
Else SetPlotColor(3, OpenNegativeColor);

If MP = 1 then
Begin
   If MaxPossibleLoss > (ClosedProfit - ((AvgEntry-Low)*BigPointValue)) then
       MaxPossibleLoss = (ClosedProfit - ((AvgEntry-Low)*BigPointValue));
   If MaxPossibleProfit < (ClosedProfit + ((High-AvgEntry)*BigPointValue)) then
       MaxPossibleProfit = (ClosedProfit + ((High-AvgEntry)*BigPointValue));
End;
If MP = -1 then
Begin
   If MaxPossibleLoss > (ClosedProfit - ((High-AvgEntry)*BigPointValue)) then
       MaxPossibleLoss = (ClosedProfit - ((High-AvgEntry)*BigPointValue));
   If MaxPossibleProfit < (ClosedProfit + ((AvgEntry-Low)*BigPointValue)) then
       MaxPossibleProfit = (ClosedProfit + ((AvgEntry-Low)*BigPointValue));
End;

If MP = 0 then
Begin
   If MaxPossibleLoss > ClosedProfit then
       MaxPossibleLoss = ClosedProfit;
   If MaxPossibleProfit < ClosedProfit then
       MaxPossibleProfit = ClosedProfit;
End;

Plot1(0,"Zero Line",ZeroLineColor);
Plot2(DayProfit,"Daily P&L");
Plot3(OpenEq,"Open P&L");
Plot4(MaxPossibleProfit, "Max Profit", MaxPossibleProfitColor);
Plot5(MaxPossibleLoss, "Max Loss", MaxPossibleLossColor);
Plot6(ClosedProfit,"Closed", ClosedProfitColor);

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.