freeze level

 

Hi,

I have a question about freeze level.


According teh below line from teh documentation, you cannot modify a market order if sl or tp is withinn freeze level distance from teh market price.

" An order cannot be modified, if the execution price of its StopLoss or TakeProfit ranges within the freeze distance from the market price."

But from the below table I understand that you cannot modify sl in a market order if the sl is within freeze level distance from the market price and

you cannot modify tp if tp is withing freeze level distance, meaning you can modify sl if only tp is within the freeze level range and the other way around.


Could anybody please clarify hat the exact rule is? thanks!


Order Type
Open Price StopLoss (SL) TakeProfit (TP)
Buy
Modification is prohibited Bid-SL > FreezeLevel TP-Bid > FreezeLevel
Sell
Modification is prohibited SL-Ask > FreezeLevel Ask-TP > FreezeLevel
 

Correction. If the StopLoss and TakeProfit is withing the FreezeLevel then you cannot place the Sl and Tp there even if the Broker Offers 0 for StopLevel. But something like 3 for FreezeLevel.

1) You cannot cancel a pending order within the freeze level. True:

2) You cannot close a Market Order within the freeze level. True:

I believe once it leaves the freeze level then you can close Market Orders within freeze level if it returns to for Example Break-Even later.

3) You can modify Market Orders which are within freeze levels. Allot of times people recommend placing orders with 0 Stoploss and 0 for takeprofit. Then immediately modify the order with the desired SL and Tp. If we couldn't modify orders within freeze levels ... that common suggestion would not work.

Note: I'm not sure about modifying Sl and Tp for pending orders tho. Someone else can share their experience with that.

 
Dingetje:

Hi,

I have a question about freeze level.


According teh below line from teh documentation, you cannot modify a market order if sl or tp is withinn freeze level distance from teh market price. <---True

" An order cannot be modified, if the execution price of its StopLoss or TakeProfit ranges within the freeze distance from the market price." <---True

But from the below table I understand that you cannot modify sl in a market order if the sl is within freeze level distance from the market price and <---True

you cannot modify tp if tp is withing freeze level distance, <---True

meaning you can modify sl if only tp is within the freeze level range and the other way around.<--- False


Could anybody please clarify hat the exact rule is? thanks! welcome


Order Type
Open Price StopLoss (SL) TakeProfit (TP)
Buy
Modification is prohibited Bid-SL > FreezeLevel TP-Bid > FreezeLevel
Sell
Modification is prohibited SL-Ask > FreezeLevel Ask-TP > FreezeLevel
 
  1. When I first started testing, IBFX had a stopLevel (3 pips) but never a freezeLevel (0.) I found I could not modify or close orders with the market was closer to SL/TP than stopLevel. So I used the maximum of both to avoid 145 errors.
  2. uBzen #3: This is because of ECN not the levels.
  3. uBzen note: I still don't know about modifying SL/TP for pending orders. When I first tried I got very confusing errors - it appeared the test was against current market instead of where market will be. I just gave up on pending orders and have my EA wait until market reaches the price and open directly.
  4. Dingetje:
    Order Type
    Open Price StopLoss (SL) TakeProfit (TP)
    Buy
    Modification is prohibited Bid-SL < FreezeLevel TP-Bid < FreezeLevel
    Sell
    Modification is prohibited SL-Ask < FreezeLevel Ask-TP < FreezeLevel

 
WHRoeder:
  1. When I first started testing, IBFX had a stopLevel (3 pips) but never a freezeLevel (0.) I found I could not modify or close orders with the market was closer to SL/TP than stopLevel. So I used the maximum of both to avoid 145 errors.
  2. uBzen #3: This is because of ECN not the levels.
  3. uBzen note: I still don't know about modifying SL/TP for pending orders. When I first tried I got very confusing errors - it appeared the test was against current market instead of where market will be. I just gave up on pending orders and have my EA wait until market reaches the price and open directly.
  4. Dingetje:
    Order Type
    Open Price StopLoss (SL) TakeProfit (TP)
    Buy
    Modification is prohibited Bid-SL < FreezeLevel TP-Bid < FreezeLevel
    Sell
    Modification is prohibited SL-Ask < FreezeLevel Ask-TP < FreezeLevel


Thank you all for the above replies. So if I understand correctly (please do correct me if I'm wrong) freeze level limitations only become effective if the current market price is withinn the freeze level range from the stop levels of your order, being the tp and sl for an open market order and the order open price for a pending order.

So for example freeze level is 5 pips and you have an open buy order with sl 1.4020 and tp 1.4060 and the current market price is 1.4056, you cannot modify the sl, tp or close the order.




 

So for example freeze level is 5 pips and you have an open buy order with sl 1.4020 and tp 1.4060 and the current market price is 1.4056, you cannot modify the sl, tp or close the order.

The freeze level is based on orderOpen price. If your orderOpen price is 1.4056. Then you cannot modify the order to place the take profit at 1.4060. Thats 4 pips away, the freeze level is 5. FreezeLv is basically a form of broker defense against Scalpers looking for very small profits.

Your example above does Not give an orderOpen price. And thats what matters. Also, I'm assuming the order in your example is a Active Order and Not a pending order. If its a pending order, then you're correct. You cannot modify the pending order with new sl & tp ... nor Cancel the order.

Also, for active orders, you can modify the sl and tp anytime. You however cannot close them if the orderOpen price is still within the radius of the freeze level. A broker will never accept an order where the orderOpen price is 1.4056 and you specify a take-profit of 1.4060 when they have a freeze level of 5-pips. The same applies to stop_levels.

 
ubzen:

So for example freeze level is 5 pips and you have an open buy order with sl 1.4020 and tp 1.4060 and the current market price is 1.4056, you cannot modify the sl, tp or close the order.

The freeze level is based on orderOpen price. If your orderOpen price is 1.4056. Then you cannot modify the order to place the take profit at 1.4060. Thats 4 pips away, the freeze level is 5. FreezeLv is basically a form of broker defense against Scalpers looking for very small profits.

Your example above does Not give an orderOpen price. And thats what matters. Also, I'm assuming the order in your example is a Active Order and Not a pending order. If its a pending order, then you're correct. You cannot modify the pending order with new sl & tp ... nor Cancel the order.

Also, for active orders, you can modify the sl and tp anytime. You however cannot close them if the orderOpen price is still within the radius of the freeze level. A broker will never accept an order where the orderOpen price is 1.4056 and you specify a take-profit of 1.4060 when they have a freeze level of 5-pips. The same applies to stop_levels.

Hi Ubzen,

In my example I am referring to an open market order. I didn't give an open price because I understood from the documentation on this subject that the open price is only relevant for pending orders. I thought the only question I had was whether you were able to modify tp if sl was in the freeze level zone and vice versa, but now I am a bit confused..because what you're saying basically contradicts with the below rules.

Could it be that brokers use the freezelevel in different ways? I haven't been able yet to find one that does use freezelevels in order to test the different scenario's

https://book.mql4.com/appendix/limits

FreezeLevel Limitation (Freezing Distance).

Market orders can not be closed if the StopLoss and TakeProfit values violate the FreezLevel parameter requirements.
StopLoss or TakeProfit orders can not be modified if StopLoss or TakeProfit values violate the StopLevel parameter requirements.
Pending orders can not be deleted or modified if the declared open price violates the FreezeLevel parameter requirements.

 

I haven't been able yet to find one that does use freezelevels in order to test the different scenario's. Then don't worry about it, cross that bridge when you get there. FxOpen demo has Freeze-Lv test your codes on that.

 

My solution for this is a new "fakeprofit" inside the EA make this for example 2*Takeprofit. The trade can be modified if for buy TP-Bid<freezelevel

If Bid > Orderopenprice( ) + Takeprofit (* Point 's') we can close the trade.

Reason: