minimum distance for this market is x

Forums ProRealTime English forum ProOrder support minimum distance for this market is x

Viewing 15 posts - 1 through 15 (of 27 total)
  • #225293

    Hi,

    I got an auto trading algo and last night, it reported below and then got stopped.

    “The order level you have requested is too close to the market level. The minimum distance for this market is 10.”

    How can we make sure in the code that this doesn’t happen?

    Regards,

    Ash

    #225295

    Make sure any ‘Set Stop Loss’ or ‘Trailing Stop’  instruction is > 10 (e.g. try 12 or 15).

    #225301

    It is not about the stop loss. Let me elaborate.

     

    ps. I’ve used “set stop ploss xx” also and the result is same

    My min stoploss is more everytime e.g. in this case, it was 30. I don’t use 10 or even 20 for dax.

    May be there is another problem. When my code leaves a limit order, there is generally no limit or stop put by broker. It gets added after the above order is executed. See attached. Somehow stoploss and takeProfit get added only once limit order is executed

    #225304

    Try … ‘Buy at Market’ … then you will know if it is your ‘MyLevel limit’ that is causing the problem.

    #225308

    I only trade via limit orders. I’m sure buy at market would have worked.

    It’s 2am when the issue happened, 1h candle just closed near that 16750 and IG rejected the limit order as minimum 10 point difference between current price and my limit order value. As its dax and market is thin at night, that could be the reason. My question was how to avoid it. Is there a way to find minimum distance between current price and limit order level.

    Thanks.

    #225310

     

    #225318

    Is there a way to find minimum distance between current price and limit order level.

    Sadly, No.
    I year or so ago I talked this through with PRT support, and I-forgot-how-or-what but what came from that talk is that IG has this (dynamically changing) data, and could theoretically pass it on to PRT. I never heard back from that. However :

    One of the “solutions” springing from there, is what you see below. This tells as much as the PRT server not actively looking at (monitoring) the trade-desires of your System, at times it is bound to fail anyway. This is in the hands of PRT themselves, thus without the necessary cooperation of IG. But this is at 22:20 (Amsterdam) or so and is in virtual dead time. You 02:00 (03:00 Amsterdam) is no dead time at all, for the DAX.

    It will (obviously) be spread related (IG lists that per instrument so you might have a look for that *if* the DAX has fixed spreads per day periods anyway).

    What I did prior to that “Not Monitor” state feature, was creating a dead zone myself (don’t trade during that hours). Once you know it will fail anyway in a certain period, you could do that too. For the DAX I would think that your virtual dead zone  may end at 06:00 (your time), so nothing much will happen at night. Personally I would exclude the opening from that and accept the larger distance (10 points ?) for that moment and for the first 5-10 minutes.
    Another solution, which you are not asking for, is accepting the Market Order after all. I myself lately tend to solve things via this means, because it could net be the better solution (depends on your time in the market and whether your desired profit exceeds the spread largely anyway).

    I can imagine that @justisan has readily working ideas about this.

     

    1 user thanked author for this post.
    #225325

    I agree, the close was just within the level my strat had i.e. it closed within 10 points from DAX 16750.2. Generally 10 points is a lot but it was that time of the night. I generally trade myself only RTH hours when doing so manually. For the code of FX, and indices, I had them starting at 0100 am GMT (London time).  Probably that works for FX and for DAX, I may have to move to 5am start time. But there was move of 100+ starting from that time. Even running with a smaller size doesn’t hurt while you sleep.

    #225326

    Thanks. I am not aware of ““Not Monitor” state feature”, quick google search didn’t help but will check PRT documentation/website.

    #225345

    To account for distance, the above code by ashehzi should be changed to:

     

    #225379
    JS

    Hi @ashehzi

    I have never heard about a minimum distance on limit orders, I know that with IG there is a minimum distance for a Stop Loss or a Trailing Stop but for limit orders?

    I think your problem is in your “Stop Loss”…

    What I would do is, use the “normal” (IG) Set Stop Loss and keep the Stop Loss and the Take Profit out of the “If-Then” and use the IG option to adjust your Stop Loss to the current minimum distance…

    #225388

    thanks Peter for mentioning me 😀

    though I have to say I did not find ever the exact solution for what Ash is asking – I did not find so far a way to identify via PRT code the “current” minimum distance between current price and intended order level. my answer is so far same as Peter’s – “no, there is no such way”. today I would add – even if there would be a way, it would not help, at least not me. the issue is not really that there is no such way, the issue is that IG deliberately invents and changes those minimum distances, instead of securing/providing the liquidity to the customers.

    yes, there are some ways how to deal with “minimum distances” issue – some work-arounds in order to still make an algo trigger trades according intended conditions. adapting the code (possibly changing it at the same time to a multi time frame code, entries being generated at very, very small time frame, like 1 sec) so it works – as Peter mentioned – with ‘at market’ oders instead of entering positions with stop or limit is  probably the most practical way. ideal / customer friendly solution it is definetely not.  by itself the fact that IG’s “quants” determine whenever they need those minimum distances for  entries/exits by whatever amount of points (sometimes small and sometimes hysterically huge) tells really a lot about their business model, and in general about what kind of “market” CFDs unfortunatelly are.

    if one runs algos which trade relatively/very frequently and perform with relatively high hit rate / relatively low profit per trade compared to the risk, then the above issue probably drags not so much on trading outcome. my core algos generate just few trades per week and operate with hit rates which are < 40% (down to 15%), so I have to rely on that every single intended position is in fact taken, I cannot afford IG shutting down my algos multiple times per week due to those suddently appearing “minimum distances”… this is definetely one of major reasons, why I am transferring those algos to futures contracts, since PRT finally offered that possibility. thank you so much, PRT! 😀

    #225389

    ok, I have to add – like JS – that I was as well not aware that IG has minimum distances for entries with “limit” orders. simple explanation: I simply never enter positions via limit orders (but via stop orders mostly)… for entries with stop orders they definetely have and some times really huge ones – from time to time, mainly around the time when major economical data is being  realeased (so kind of almost every day you have such cases) or some “big” central banks announce their interest rates decisions…

    #225403

    Minimum distance is in relation to placing a limit order. My stoploss and target profit are way far e.g. 30 points in that dax trade so no way it was that issue. The issue I’ve noticed also when trading manually is that sometimes IG doesn’t allow you to place an order too close to the market price stating your order is too close in a moving market. It does allow at market price, but not a limit order too close to the market price in spreadbet/cfd.

    #225404

    If you trade against the prevailing direction, how would a stop order work? I trade against the direction e.g. if the market is in downtrend and if it bounces to my level, i short it with a limit order and vice versa for uptrend. Now, how would I use stop order in this case?

Viewing 15 posts - 1 through 15 (of 27 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login