I`m trying to reverse the BE logic,so it should trigger when the price goes below entry(if long) and above entry(if short).
Here`s the original logic snippet:
if(Position.MarketPosition == MarketPosition.Long)
{
//*****************************
// BreakEven
//*****************************
double bePrice = Position.AvgPrice + this.iAutoBreakEvenTicks * TickSize;
if(
// BE turned on via input
this.iAutoBreakEvenTicks != 0
// price moved for breakeven
&& Close[0] > bePrice && bePrice != 0
)
{
double nPrice = Position.AvgPrice + this.iBreakEvenPlusTicks * TickSize;
for(int i = 1 ; i <= 3 ; i++)
{
if(tVars.iStopOrder[i] != null)
{
if(nPrice > tVars.iStopOrder[i].StopPrice)
SubmitTargStop(sBIP, i, tVars.iStopOrder[i].FromEntrySignal, tVars.iStopOrder[i].Quantity, 0, nPrice);
}
}
}
if(Position.MarketPosition == MarketPosition.Long)
{
//*****************************
// BreakEven
//*****************************
double bePrice = Position.AvgPrice - this.iAutoBreakEvenTicks * TickSize;
if(
// BE turned on via input
this.iAutoBreakEvenTicks != 0
// price moved for breakeven
&& Close[0] < bePrice && bePrice != 0
)
{
double nPrice = Position.AvgPrice - this.iBreakEvenPlusTicks * TickSize;
for(int i = 1 ; i <= 3 ; i++)
{
if(tVars.iTargOrder[i] != null)
{
if(nPrice > tVars.iTargOrder[i].LimitPrice)
SubmitTargStop(sBIP, i, tVars.iTargOrder[i].FromEntrySignal, tVars.iTargOrder[i].Quantity, 0, nPrice);
}
}
}
Nothing seems to work properly.What am i doing wrong?Any advices appreciated!
Thanks!

Comment