Hi, I'm testing some strategy with jforex historical tester. The problem is with some of orders the strategy tries to fill but they are being canceled "because of no liquidity". I understand what it means, but I'm not convinced it is a true reason.
Example: 2010-01-07 22:18:38 Order submitted Order [M1x1rqgiv3hf, EUR/USD, BUY, 100000.0 at 1.43065] submitted by the strategy 2010-01-07 22:18:38 Order filled Order [M1x1rqgiv3hf, EUR/USD, BUY, 100000.0 at 1.43065] filled 2010-01-07 22:18:38 Order submitted Order [M1x12djqla6t, EUR/GBP, SELL, 100000.0 at 1.43045] submitted by the strategy 2010-01-07 22:18:38 Order canceled Order [M1x12djqla6t, EUR/GBP, SELL, 100000.0 at 1.43045] canceled because of no liquidity at the price
As you can see a strategy tried to submit an order on 2010-01-07 22:18:38, opening only 0.1 lot, EUR/GBP. I don't believe at that time the market depth was so small that it couldn't be possible to open a 0.1 l position. This is not a standalone example, I'm getting such errors in strategy report for other pairs as well, i.e. usd/chf, eur/chf.
Can you please determine why does it happen and how to avoid these errors?
API Support
Post subject: Re: Historical tester - why transactions canceled?
You are trying to open EUR/GBP sell with price 1.43045. Bid price of EUR/GBP at that moment was 0.89925 which is a lot less than the price you requested. It looks you are trying to use price of EUR/USD or some other pair on the wrong instrument. FYI, tester doesn't check liquidity, it will sell you 100 millions even if there was only 1 million at the market. It only checks that the price you request does hit into the market price.
[oktar]
Post subject: Re: Historical tester - why transactions canceled?
The strategy is running on EUR/USD chart but it can open EUR/GBP position as well. So in this case variable "Bid" means a price of EUR/USD, not EUR/GBP. That's why I was trying to open EUR/GBP using a EUR/USD price