Multiple cTrader’s Running Same cBots?

Multiple cTrader’s Running Same cBots?

Hi looking for some advice pIease

I have just experienced an outage on my Azure VPS - I had 2 cBots running under live account on there - I fired up 2nd backup Azure VPS and started the 2 cBots - unfortunately this took time (approx 10 mins start to finish) and one of them missed a trade - although obviously not great it is not the end of the world/I am testing live/have tried to build things in mind of these kind of things happening... and they just ‘happened!’

Outage lasted over 30 mins and I am now back to running everything on the 1st VPS but to be honest this is becoming a deal breaker for me thinking I can rely on a locally hosted trading software system to have any hope of a reliable solution - if this had happened when I was sleeping or out/unable to access internet (I have full instant RDP access otherwise of course at any time) etc. no amount of alerts are going to help as when the 1st VPS came back online it had restarted so obviously nothing was running - my question is;

“Is it possible to run two (or more!) cTrader installations logged into the same account on separate servers running the same cBots?”

I am tempted to try it now as the trade is almost back to triggering but don’t want to risk things going haywire - I also don’t want to test it in demo as I only care about it working live - I would guess the answer is more than likely no - so again I really am losing faith how it is possible to have a robust trading solution using local software rather than a 100% hosted solution (and as far as I know unless I missed something which is quite possible cTrader Web does not allow for cBots and is the same anyway as manually trading on cTrader Desktop - set orders/targets/stops all held server side anyway) 

I have also experienced (many) odd going on’s with cTrader but have not bothered to report them as my thinking is as/when they happen simply accept them and use them as reasons to build the entire solution more robustly to counter them but for example one was when I logged onto the VPS the other day cTrader was running and (for once!) not taking up all the resources but no cBots were showing! Nothing there... and none of the menu’s (to click onto the manual trading or analyse) were working - very odd - killed it in task manager fired it up again and all was well... I have no idea if things were actually running behind the scenes but no trades were close to triggering so could not tell

I should also point out that I use OneDrive so the cTrader install goes into the backed up Documents folder and is synced with OneDrive - this causes issues with the Journal.txt file and copies are created when opening cTrader on different machines but other than that I do not see any issues and it means I am able to do what I have done above by firing up a second server with all relevant data in sync once OneDrive has synced up (I also use .txt files within the cBots to read/write variables used by the cBot so again this allows me to fire up a backup VPS and get running ‘just as if nothing had happened’)

Could this be why I am experiencing odd going on’s? If so then really how is it possible to build a solution that is anywhere near reliable to run 24/7? (Unless you tell me “yes you can run multiple copies of cTrader logged into the same account running the same cBots on different machines all at the same time...no problem!” but I doubt it ;)

Thanks for any advice much appreciated otherwise yeh I think this could just about be the end of me and my (long) journey with cTrader/cBots (which is the only thing I am interested from trading software - the ability to write algo’s and have them run unattended as reliably as possible) as I can’t think of any other way to (99.99%) solve this kind of issue...

MaxT

Hi @MaxT:

“Is it possible to run two (or more!) cTrader installations logged into the same account on separate servers running the same cBots?”

Yes in that I have bots running on a VPS and while they are running, I have also had them running on my local home desktop machine connected to the internet.I've even done it with same instance pairs and same time frame.

I can't say anything in regards to syncing with OneDrive as I wouldn't do that:

1) it can cause lots of network lag

2) OneDrive isn't 100% guaranteed uptime

3) if you're running on more than one computer, syncing to the same OneDrive, who knows what kind of file bashing/hashing/coordination has to go on, how long that takes, and if the delay is significant, can certainly halt cTrader if it doesn't get enough network bandwidth or fast enough speeds when writing to the local disk.

What I do is just drag/drop the c:\Documents\cAlgo|cTrader folders over to a local backup drive. Takes maybe 5 minutes to copy (if that).

The other thing you might consider doing is switching VPS providers. I currently have an account with NYC Servers, and they have been fantastic.

If you sign up through the above link, they offer special discounted rates for numerous brokers such as Pepperstone, IC Markets, and others.

Just scroll down the page to the section "VPS Service By Broker", select your broker, and go for the special rate. For example, as of this post, you can get a standard VPS:

  • Runs 4-6 accounts
  • 2 CPU cores
  • 4GB ram
  • 40GB SSD storage
  • 100% uptime guarantee

for 1/2 price if you're with either Pepperstone or IC Markets. That's more than enough to run both cTrader and MT4/MT5 EA's.

Make sure you scroll down to the bottom of the NYC Servers page though to the "VPS Service By Broker" section to get the special rates.

Most people miss that.

Good luck.

RE:

Hi Firemyst

Many thanks for the reply - I am meaning the exact same cBot managing the exact same positions from mulitple machines - not sure if that is what you mean you have been doing (I am still tempted to try it and just see what happens...!)

I appreciate all you’ve said about OneDrive but the way I have things setup it is not affected by any uptime availability of OneDrive or network lag etc. OneDrive folders/files can be cached locally - the only issue I have had is file access conflicts when OneDrive is uploading and the cBot needs to read/write at the same time but I have implemented the cBot code to handle this and it works well - it is more of a ‘lazy’ way not ‘mission critical/cBot dependant on the files’ to have a central repository for cBot .txt files containing the cBot variables which will be available to any other machine if the main VPS goes down (and I don’t need to drag drop any folders/files - everything is already always backed up)

Regarding the file bashing/hashing you’ve mentioned yeh this did cross my mind but as I say the only file that has a problem is the journal which is no big deal a copy is created and as far as I can tell all the folders/files ctrader creates in the MyDocuments folder are templates/Indicators/cBots which are all essentially static - all the workings of cTrader go into the appdata folder from what I know of from doing a complete proper uninstall of cTrader and this folder is of course not included in the OneDrive sync but yeh I appreciate this probably isn’t the best way to have ctrader installed (I guess...but not confirmation from spotware either way)

Thanks for the recomendation on NYCServers and yeh I am with ICMarkets/have been aware of the discounted VPS offerings but I tried Beeks many moons ago and have to say it is abysmal (Win Server 2000 from memory and no web console to manage the VPS and very expensive for the specs) - NYCServers look better pricing but their VPS calculator recommends their basic plan (1 CPU/1GB RAM) for ctrader which doesn’t give me much confidence as it simply won’t run on those specs but yeh the standard looks ok but even 2CPU/4GB RAM will only just get cTrader running but can choke if a few cBots running especially more so as time passes and cTrader eats into RAM/CPU for inexplicable reasons only cleared by a restart of the VPS

Anyway thanks again for the input much appreciated!

MaxT

RE: RE: RE:

Hi Panagiotis

Thanks for the quick reply! yeh I am from an IT background/used to use Azure in the past (business use not trading) and compared to Beeks offering (shocking/dark ages) I felt Azure offered much more bang for the $ - obviously Micorosoft is quite a big company/a lot of hardware behind the scenes etc. but yeh outages do occur obviously! (there are ways to cluster VPS’s and build in redundancy but I guess that is what the likes of NYCServers are already doing ‘behind the scenes‘ so I guess there is an argument for going with a dedicated FX VPS provider over a more general VPS provider so will give it a go

I know I sound over the top trying to build in such resilience and I can quite believe there are many out there running on single VPS but it would only take one bad day to potentially set back any gains (or make losses worse) disasterously - my long term strategy has been to build algos/backtest/forward test demo/forward test live - live is with a small account trading micro lots so the outage was no big deal and is all part of the learning process and developing a complete solution I would be willing to start ramping up the amount of equity into and be able to sleep at night knowing the cash I have reserved (for years!) which I hope to one day pump into the ‘system’ will be as best looked after as possble

Many thanks also for confirming it is possible to do what I am asking about and I can ‘give it a go’ - yes can understand about the advanced coding of such a system and whilst I am by far no pro coder I’ve been at it for quite a while now and as odd as it sounds my cBots ‘do a lot from a little’ so in some sense there is not actually a lot going on - the main thing I can think of being a problem is the latency cBots experience in receiving notification of trades being placed/succesful and the positions.opened/closed parrallel methods being implemented on each machine running the cBot but yeh what the hell reckon I’ll give it a go and see what happens :)

Thanks!

MaxT

RE: RE: RE:

Wow 2 copies of cTrader and 26 cBots in total on a 2CPU/4GB VPS is quite simply incredible!

Yeh I know about print statements (why can’t they be ‘sorted’ by spotware to not cause the problem though...?) and also loading charts but thanks for the advice all helps - I have had cTrader on a 2CPU/4GB Azure VPS (no OneDrive hooked up) start eating up the CPU just having it open watching a chart whilst I worked on my laptop occasionally checking back on the VPS - no cBots running/literally nothing goingn on... close and re-open cTrader sometimes sorts it but usually best just to do total restart to be sure whatever was causing the issue has been cleared

My suscpicions started to go towards the Azure VPS not having a GPU as to why this happened but really have no idea (I noticed previous/now dead laptop used GPU quite extensively when running cTrader - I work exclusively on VPS’s now so can’t check)

Just curious - what would you do if that one NYC VPS went down for 5/10/15+minutes? obviously no idea your equity level or if you’re similarily just testing with low equity or what your current situationn is but yeh would that cause you a problem and/or could you recover from it relatively quickly/easily with minimum to no ‘hurt’? Obviously HFT would be shot to pieces but long term would not be too bad most probaly so a lot is dependant on style of trading - and yeh most probaly the VPS ‘will never go down’ and perhaps it ‘won’t’ but what if it did? (just read the incident report on the Azure outage - a number of chiller pumps shutdown in the datacentre causing temperatures to exceed thresholds which began sequantial shutdowns of various equipment - issue was identified and chillers brought back online/systems gradually bought back online sequentially... yeh unbelievable in my mind this could happen to a MS datacentre but yeh sh*t can and does happen!