Basically I'm scaling into a strategy using two separate ATM strategies within one strategy and then moving the stop of the 1st strategy/trade up to the stop of the second trade once the second trade is active. The problem is I'm getting all these errors in the log. The stop moves ok.
AtmStrategyChangeStopTarget()method error: Order Name STOP1 does not exist. I also get it for STOP 2 for TARGET 1 and TARGET 2 as well.
The problem is in the scale 1 part doesn't work.
AtmStrategyChangeStopTarget(0, lineStopline+5*TickSize, "STOP1", atmStrategyId1);
AtmStrategyChangeStopTarget(0, lineStopline+5*TickSize, "STOP2", atmStrategyId1);
}
Here is the code.
{
//i. Set stops on entry
{
if (GetAtmStrategyRealizedProfitLoss(atmStrategyId1) <1)
{
AtmStrategyChangeStopTarget(0, lineStopline, "STOP1", atmStrategyId1);
AtmStrategyChangeStopTarget(0, lineStopline, "STOP2", atmStrategyId1);
}
//ii. Set Targets on entry
AtmStrategyChangeStopTarget(lineTargetone,0, "TARGET1", atmStrategyId1);
AtmStrategyChangeStopTarget(lineTargettwo,0, "TARGET2", atmStrategyId1);
//iii. Change Stop 2 to Breakeven once 1st Target reached
if (GetAtmStrategyRealizedProfitLoss(atmStrategyId1) >1)
{
AtmStrategyChangeStopTarget(0, GetAtmStrategyPositionAveragePrice(atmStrategyId1)+1*TickSize, "STOP2", atmStrategyId1);
}
}
//Scale in 1
if (atmStrategyId2.Length > 0 && GetAtmStrategyMarketPosition(atmStrategyId2) == Cbi.MarketPosition.Long
)
{
//Scale in
if (GetAtmStrategyRealizedProfitLoss(atmStrategyId2) <1)
{
AtmStrategyChangeStopTarget(0, lineStopline+5*TickSize, "STOP1", atmStrategyId2);
AtmStrategyChangeStopTarget(0, lineStopline+5*TickSize, "STOP2", atmStrategyId2);
AtmStrategyChangeStopTarget(0, lineStopline+5*TickSize, "STOP1", atmStrategyId1);
AtmStrategyChangeStopTarget(0, lineStopline+5*TickSize, "STOP2", atmStrategyId1);
}
//Scale in
AtmStrategyChangeStopTarget(lineTargetone,0, "TARGET1", atmStrategyId2);
AtmStrategyChangeStopTarget(lineTargettwo,0, "TARGET2", atmStrategyId2);
//iii. Change Stop 2 to Breakeven once 1st Target reached
if (GetAtmStrategyRealizedProfitLoss(atmStrategyId2) >1)
{
AtmStrategyChangeStopTarget(0, GetAtmStrategyPositionAveragePrice(atmStrategyId2)+1*TickSize, "STOP2", atmStrategyId2);
}
}
DJ
Comment