private void exit0()
{
if (Position.Quantity!=0 && Position.MarketPosition==MarketPosition.Long)
{
curPL=Position.GetProfitLoss(GetCurrentAsk(), PerformanceUnit.Points);
if (Position.AvgPrice < GetCurrentAsk() - tProf0 * TickSize)
{ExitLong(1); start=GetCurrentAsk();
Print("LongProfit "+curPL+" avg:"+Position.AvgPrice+" cls:"+Close[0]);
}
if (Position.AvgPrice > GetCurrentAsk() + sLoss0 * TickSize)
{
ExitLong(1); start=GetCurrentAsk();
Print("LongLoss"+curPL+" avg:"+Position.AvgPrice+" cls:"+Close[0]);
}
}
curPL=Position.GetProfitLoss(GetCurrentBid(), PerformanceUnit.Points);
if (Position.Quantity!=0 && Position.MarketPosition==MarketPosition.Short)
{
if (Position.AvgPrice > GetCurrentBid() + tProf0 * TickSize)
{
ExitShort(1); start=GetCurrentBid();
Print("ShortProfit"+curPL+" avg:"+Position.AvgPrice+" cls:"+Close[0]);
}
if (Position.AvgPrice < GetCurrentBid() - sLoss0 * TickSize)
{
ExitShort(1); start=GetCurrentBid();
Print("ShortLoss"+curPL+" avg:"+Position.AvgPrice+" cls:"+Close[0]);
}
}
}
The question is is in the subject actually... any coments? suggestions? can not use builtin stoploss/takeprofit functions due to strategy limitations...
Is it better to use Position.GetProfitLoss function insted of my manual calcultaion?
Cheers
Comment