| Coding Forum Collaborate, receive help, or discuss coding related issues. |
![]() | | Tweet | |
| | #1 | ||
![]() | TS Indicator Know if Long/Short for Equity Curves? 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); | ||
| |
|
| | #2 | ||
![]() | 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, EasyTrader_I. Last edited by EasyTrader_I; 10-19-2010 at 03:48 AM. Reason: Bold | ||
| |
|
| The Following User Says Thank You to EasyTrader_I For This Useful Post: | ||
TradeMonster (10-19-2010) | ||
| | #3 | ||
![]() | Re: TS Indicator Know if Long/Short for Equity Curves? 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); | ||
| |
|
| The Following 2 Users Say Thank You to TradeMonster For This Useful Post: | ||
EasyTrader_I (10-20-2010), Tams (10-20-2010) | ||
![]() |
| Thread Tools | |
| Display Modes | Help Others By Rating This Thread |
| |