ProRealCode - Trading & Coding with ProRealTime™
hi again coincatcha,
in those multiple years with IG I also did not have too many serious issues, but it was always very frustrating how they deal with the issues, when I had some. because basically they don’t care. in the end my major motivation to move to real markets / futures was those very frequent large “minimum stop distances”, temporarily but aritificially implemented by IG: I mean how can one trade, if broker dictates you where you are allowed to put your entry stop and your exit stop? it’s total joke, bucket shop style… it was killing so many of my trades, and I am not some very frequently trading guy, and not running hundreds of algos, but every, really every trade matters, even those losers – because you basically don’t know if next trade will be a loss or big winner. okay, I can imagine that other guys (like you and JS) are using different type/stile/strategy of entries/exits which then are not or much less affected by IGs manipulation. Anyway I was so eager to move to automated futures trading, when PRT offered that posibility in collaboration with IB. And I don’t know why you are writing about learning python/c++: you can run your PRT-algos with IG (with some adjustments possibly, but still). on other hand myself I would love to learn those programming languages – just in order to become indipendent from PRT 😀 and being able to run my algos via any other futures broker of my choice. not necessary now, but it’s my plan/idea for next few years.
and thanks, heavy dd (close to 20% of equity) which I had in april was mainly over by mid of may, and beginning of august equity made new highs, so all fine, hoping now for productive end of year… and whish you the same!
cheers
justisan
I meant “you can run your PRT-algos with IB” (not “with IG”).
I just don’t know if PRT offers futures trading via IB in “whole world” or citizens of some countries are excluded. but you surely will figure out quickly, if interested.
Yes thanks I knew what you meant Justisan. Thinking back I did look into IB a few years ago before I was automated and there was some reason why I decided not to. Either I couldn’t use it or had no reason to. But I will re-visit this idea and look again.
So glad your account picked back up. You actually seemed very confident at the time and have confidence in your work. It also helps to have a track record and knowing on aggregate we do the right things which is often ‘nothing’, just measure and don’t panic.
I mentioned other coding languages for the reason you stated. Just to be independent. When I watch and see methodology from other quants using python who are often ex-firm researchers their knowledge is outstanding and practice is top notch but their results and reasoning just doesn’t match my ambition and risk appetite. Even though they are academically trained in quantitative finance they seem to accept too little performance relative to DD and say it can’t be any better and that their way is THE way to do things things properly. To that I say “pull the other one”. Just look at JS above, what a little (actually lots) of deep thinking can achieve. Add to that some money management and then say Goodbye to mediocrity. There are many on this platform Nicolas has created who are so so talented. None of us are doing this for 10%pa.
When I see results like JS posted I feel so small indeed. Then the fire lights back up and I know I must step up, level up and keep pushing harder. Such a great community you guys have here.
ahm, 10%pa might be not that bad 😀 depends on how it relates to the risk, let’s say to max dd, and on how much capital one manages. if dd is 1% – it’s extraordinary performance those 10%pa, or even if it is %5 dd – it is still absolutely okay for my understanding of risk/reward when reward is 10%. and if you trade 1M you can make good living with that risk/reward 😀 so maybe you can tell, what are the expectations of those pros in terms of perfromance vs. dd?
I have confidence in my work, yes, and still – april was hard. not literally panicing, but was having some serious concerns when seeing equity rapidly approaching my personal limit of max dd for a portfolio. I never set a “target” for profits, for how much I “should” earn per year or per strategy, but setting limit for portfolio losses, which is 15% from peak equity. after reaching this level in april I was starting to reduce positions of some strategies – of those 2 which in particular were making their new historical max dd at that moment. just few days after reducing positions markets were skyrocketing, and I earned less than I would have without reducing my size. but how could I know that funny president of “country to be great again” will remove those tariffs which were crashing markets before 😀 and first rule since ever for me is – survive=preserve the capital. so I am happy I reduced positions, does not matter what happened just shortly after that. “I would”… “I could”… – markets don’t care about that, don’t care about my account, don’t care about our accounts and what we would/could/should. the moment we ignore/do not respect/do not limit the risk, we are on the way to the bankrupcy, financially and/or psychologically… even if that is no secret, only few guys really know it, have engraved it in their brains and hearts, and many more will learn it. hopefully.
Hi there coincatcha,
I follow this topic from the start but only now have some time to respond. And thank you for mentioning me a couple of times.
Let me respond to your latest quest first : why (not) IB :
I lean more and more towards IG but this is because I better and better have it under control. The earning is more difficult but that depends on how smart you are to squeeze out winners you actually gave up upon already. Does that next work better with IB again ? Probably. But for me it is of no use to try to implement that while I am glad things run in there for a while anyway. Remember : one system per instrument only, so the running system has to be kicked out first. By you yourself this time. 🙁
**): It takes trial and error forever and you *have* to run through all the sorts of anomalies before you covered for all of them. This is how it takes a year, mind you (!) which can only be done when in Real Live. Currently I feel that I am out of danger from anomalies (including the Stop distance stuff) but that took me … ehh … 7 years ?.
Moral : never think that you have a good system because the backtests do fine. It is less than half of the work.
First screenshot is all IG (and then to think I am happy with that). Mind the systemS mentioned quite often.
Second is IB and looks to be better.
Regards !
Peter
for me to be independent of the commission (IB) or spread (IG).
I have to ask … how can you (we) be independent of commission / spread … we are tied to it / have to pay commission (IB) or spread (IG)?
Less trades with more profit per trade.
An open door, right ? 🙂
With one trade per day and 2000 profit and 20 on commission or spread, the commission or spread is nothing in comparison.
Now try 100 trades per day and 20 profit each. I am not claiming this is the real balance, but obviously you will loose all right away on commission/spread (100 x 20 = 2000).
I seriously did 2000 trades per day (if you followed my posts and screenshots and believed they were for real – which they where) than you already know. But hey, that is 0.25 points with slippage of -0.25 or maybe + 0.25 equals … 0.00. But the spread / commission is still 0.6 for IG (undoable) of EUR 1.24 for IB (also undoable).
So the truth is somewhere in whatever middle, with 100% dependency on latency and slippage (!) in your direction. That is gambling.
Btw, this can be done for real with PRT although nobody would accept or believe that. I can show it all … And it can even be done better than any API or other tool.
Of course this is not about “oh, I can do 50000 trades in one backtest”. It is about guaranteed profit; this becomes guaranteed loss … (not really 100% but is it too exciting at several trades each 10 seconds. Trust me).
Trump : nobody has seen anything like this before.
But I did.
Oh, I am so happy (not). The 23:00 is at market closing. The Request for Cancellation (verzoek tot intrekking) is a new one for IG (but I know it from IB). So what will happen with this one ? no idea. The actual error now occurred for the 2nd time with IG “The broker could not determine the status of the last order”. This is new (and thus the 2nd time) since the mess from the beginning of September. It can not be a coincidence because, well, I know this message a 100+ times from IB.
What can I do here ? cross away the still live order and see what happens with the order with the request for cancellation.
… So I did, but the request for cancellation remains.
A moral again : never ever think that you have it all settled with Autotrading. The mess will remain always (as it seems) and you will never win money over it. I repeat : backtesting (and not overfitting) is a relative small part of all the hurdles to overcome. And a lesson to learn : don’t get frustrated over it. Instead accept it and get used to it.
Thank you @PeterSt for the in depth Pro’s and Cons with IB. Very useful for me. As I trade multiple algos on single instruments and always will then this is a no go for me. At this point I have reached the same conclusion as you that it’s better to deal with the devil you know than the devil you don’t. Unfortunately. These events are a sunken cost.
An update on my Broker correspondance: Yes there is some!
PRT have acknowledged my query/complaint and have given themselves 2 days to resolve. Ok…..
IG had yesterday asked for precise trade entries and exits which of course I gave. Overnight I have been offered a reinstatement of my short trades. I am shaking in by boots as to what this means after having agreed.
As for my long position, I was told they cannot do anything here as the trade was “Kindly note that the long position never reached the stop loss and was eventually closed by.”
To which I have asked ” Closed by what, exactly?”
Further, this trade operates on a SD exit or Trailing stop (must be SD exit then next candle open). The auto log has recorded the anomoly as price action affecting the outcome. OK
Pleased to have correspondence, however NONE of this addresses the Elephant in the room. That is, was this a market move OR a data error on the brokers end? I have asked this directly and awaiting reply tonight.
Should they acknowledge the data blip and pay out my short profits I will consider this resolved. Then continue just as cautiously as I have done, making sure no one event can undo me, very well ware that ANYTHING can and does happen. One way of doing this is to not trade too frequently so as to have less of these occurences and typing complaints instead of trading.
Then your real issue :
First is US 500
Second is US Tech 100
Third is your ASX (AUD 5 version). Fourth is also ASX but zoomed in.
It is totally clear that IG experienced a computer/computing failure. Thus, not a data glitch but a sheer failure of the same sort as when they started to “repair” the data at the beginning of September (I posted screenshots of that as well in the larger thread from JS about it).
I am not sure what they – or you yourself are ready to accept, but this is plain wrong on their side. I sense that your “Long” issue is about the price never was crossed (but I am not sure about this as I did not read back in detail). Anyway, correct, no price has been crossed in that jump towards my 22:00 closing time. Note that we were not in Daylight Savings yet (that occurred the Sunday after (which was last Sunday). And/but also note that this whole exercise of IG’s was about *avoiding* the DLS difference between the US and Europe. They may have failed on that “tuning in” somewhere, or else did/tried something related. Or it is not related at all.
And oh, the specialty of this occasion is that on the way back the price was not crossed again; this is probably what you deem odd, but is just normal because, well, look at it. Of course this does not allow for a claim because it was not real. And the Shorts ? they should have stayed (indeed).
Note it is about two events of missing data :
21:25:54 – 21:38:09
21:53:33 – 21:57:47
where after the first event the data was “tuned” wrongly.
Notice that I too have conspiracy thoughts as usual : IG does tune these things at will (within a certain bandwidth compared to the underlaying) but it should go unnoticed and not in error like here.
I picked the US500 and US Tech 100 because they were on-screen anyway, but I bet you it will be in everything and all. IG just done something wrong again.
I don’t know where I wrote this and if I did at all, but 1-2 weeks ago I lost ~EUR 3400 on some crazy (but in itself normal) gap after a reopening (probably on Monday’s) because my Pending Entry was ignored. This is all easily proven but would I hunt them with such losses then I must duplicate myself.
The sinister thing about this is that one time (and one time only) I claimed 3 of such “ignores” from the same moment (it was stock market opening or News – I’ve forgotten by now) and instead of paying me the close to EUR 3000 I was invited by IG’s main account manager in a 2 star (Michelin) restaurant instead and was never paid.
It is part of the job since we need a life too. 🙂
On my own event from last night (23:00 Amst) : I slept a bit on it, and this as been a sheer communication error between PRT and IG. Thus envision :
At 23:00 markets close, or at least go silent (IG trades along within her own community). PRT knows of nothing and does nothing special at that time. But IG switches to anothr system and will probably out of the air for a few seconds. Then my Pending Order meets its time interval (21 seconds in this case) and just falls in that gap; PRT can wait for 21 seconds max (depends on where it exactly falls in that 21 seconds period) and then concludes “broker is not there – kick out system !”.
This is not what I am used to of IG, but IG might have changes “computer system” because of their weekend trading stuff. Thus, IG never ever has been “not available” and I do sufficient trades to know of such an anomaly. Not so with IB. IB is not there for many times a day BUT PRT applied provisions for that (in cooperation with me and ever trying). But I apply things too, like shutting down trading from 06:25 to 06:35 (Amst) because this is where IB resets (it’s just not there and when longer than what PRT takes into account, the same error “Could not determine status of last order” is our share. Of course this is subject to daylight savings differences again, so it’s all quite messy to implement.
If this happens with IG now more often, and be that around 23:00, then another “solution” is required.
But now you know how it can take infinitely to solve all this glitches and anomalies, because when you’re done with the one, they cause the other.
Please note : if you have somewhat faster systems (like 21 seconds in my case here) then you challenge for error. This is also why it is impossible to have 1 second systems and trail with that with IB because within the hour (make it 4) you will run into a “broker not present” or busy or whatever. So notice that when your system runs on a time frame of 21 seconds, the broker can stay out for 21 seconds before PRT gives up on the communication and throws an error. Is that 1 second, then this allowed time is 1 second. Is it one minute, then it is one minute and will hardly fail. But at 06:30 for IB it still will by guarantee (but thus with the notice that PRT has built in a “not looking” around that time).
When we’re at it anyway, one last bonus for IB users :
A bit depending on your “techniques” used (for Pending orders and how they enter and exit), you will soon run into the situation that you find a Short position while it should be Long or not there at all. What happens ? the way the orders are brought to IB is not really “OCO” (Once Cancels the Other), unlike for IG where an OCO is also really visualised. Thus it can happen that your Exit does not kill the Pending order on the other side of the price, and in goes your system again to the wrong side.
Always think of this :
Towards the end of your TF, your Pending Order might touch the price. Say at ms 50 before the end of the bar. The broker will not respond within that bar because latency and further processing cause the round trip of diverse phenomena to be 200ms. Now things bounce or backfire if you want, because in the new bar your program runs again and the first thing what it does (because you do) is looking at an “If On Market”. The result is a Yes, but in the next 150ms the broker (exchange !) causes your position to exit. This conflicts because you might for your reason now apply an exit by Market order. And there you go : this theoretically becomes a Short (again, depending on the used techniques).
Think about all the scenarios which can go wrong because it’s numerous. But here too : the shorter your TF the more you challenge for the situation. Would your TF be 1 second and the round trip is 200ms, then the chance is 1:5 that something goes haywire. So don’t do that. Is it 2s ? then it’s 1:10. And so on. If it is 1 minute, then the chance has become minimal but it is still there.
Now have fun !
PeterSt you must have some serious edge on that TF to put up with these issues. Is this really about the challenge of HFT? You are practically a market maker!
Surely you can still rally cars for dopamine instead? For me at least I must separate Downhill mtb racing (the me that was before 3 kids) from the markets. My trading must do its best to represent some form of stability to look much like income.
I guess, as you say “when you have all the money you could ever need” then trading opens more doors. I am sure you said that once?
I ditched the answer I prepared, explaining about my HFT escapades a bit. But it actually is not related. So :
No, this is not about HFT. It is about the responsiveness and a good mix of having some history to backtest with. But it would be true that I never use really longer time frames (internally maybe, with the Set Timeframe command).
The dopamine really is in order and more important than “be normal”. But then I did rallying indeed. 🙂
Well there you have it folks. A call at 1am from IG, 3 calls later this morning the best they can do is acknowledge the data was a technical issue. We have agreed to have the two short losses paid out and they cannot (they say) be responsible for my auto system getting itself out as I logged the data as price action and acted accordingly. I lose out of this transaction but I’m just sick of it by now.
If it wasn’t 10mins before my market opens I would have kept pushing for full payment because after reading through JS’s thread about what you guys went through, I did not want 3 day old scalp orders reinstated! The auto systems follolled their script in such circumstances offering some amount of comfort…sort of.
No Michelin star dinners for me 🙁
Thanks everyone for your input
Broker data anomoly closing auto systems
This topic contains 33 replies,
has 5 voices, and was last updated by coincatcha
3 months, 1 week ago.
| Forum: | Platform Support: Charts, Data & Broker Setup |
| Language: | English |
| Started: | 11/03/2025 |
| Status: | Active |
| Attachments: | 19 files |
The information collected on this form is stored in a computer file by ProRealCode to create and access your ProRealCode profile. This data is kept in a secure database for the duration of the member's membership. They will be kept as long as you use our services and will be automatically deleted after 3 years of inactivity. Your personal data is used to create your private profile on ProRealCode. This data is maintained by SAS ProRealCode, 407 rue Freycinet, 59151 Arleux, France. If you subscribe to our newsletters, your email address is provided to our service provider "MailChimp" located in the United States, with whom we have signed a confidentiality agreement. This company is also compliant with the EU/Swiss Privacy Shield, and the GDPR. For any request for correction or deletion concerning your data, you can directly contact the ProRealCode team by email at privacy@prorealcode.com If you would like to lodge a complaint regarding the use of your personal data, you can contact your data protection supervisory authority.