Welcome to the Traders Laboratory Forums.
Coding Forum Collaborate, receive help, or discuss coding related issues.

Reply
Old 10-15-2010, 11:09 PM   #1

Join Date: Oct 2010
Posts: 2
Ignore this user

Thanks: 1
Thanked 2 Times in 1 Post

TS Indicator Know if Long/Short for Equity Curves?

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?

Thanks,
TM

Code:
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);
TradeMonster is offline  
Reply With Quote
Old 10-19-2010, 03:42 AM   #2

Join Date: Jul 2010
Posts: 60
Ignore this user

Thanks: 13
Thanked 15 Times in 13 Posts

Thumbs up Re: TS Indicator Know if Long/Short for Equity Curves?

Hi,

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

Last edited by EasyTrader_I; 10-19-2010 at 03:48 AM. Reason: Bold
EasyTrader_I is offline  
Reply With Quote
The Following User Says Thank You to EasyTrader_I For This Useful Post:
TradeMonster (10-19-2010)
Old 10-19-2010, 10:12 PM   #3

Join Date: Oct 2010
Posts: 2
Ignore this user

Thanks: 1
Thanked 2 Times in 1 Post

Re: TS Indicator Know if Long/Short for Equity Curves?

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

Code:
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);
TradeMonster is offline  
Reply With Quote
The Following 2 Users Say Thank You to TradeMonster For This Useful Post:
EasyTrader_I (10-20-2010), Tams (10-20-2010)

Reply

Thread Tools
Display Modes Help Others By Rating This Thread
Help Others By Rating This Thread:


All times are GMT -4. The time now is 03:10 PM.
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
CS to VB integration by DeskLancer
©2006-2011 Traders Laboratory, All Rights Reserved.