- Home
- Forum
- cTrader News & Announcements
- What’s New in cTrader Desktop 4.7
What’s New in cTrader Desktop 4.7
What’s New in cTrader Desktop 4.7
cTrader Desktop 4.7 Offers Market Replay, Internet Access for Algos, and Other Features for Automate API
The cTrader Desktop 4.7 release delivers several fundamental features to our growing audience of traders and algo developers. With Market Replay, users can test their trading approaches based on historical data and without the risk of losing real funds. The cTrader Automate API now benefits from full internet access, the ChartShot method, built-in sounds for notifications in cBots and custom indicators, and the Help Center integrated into the app.
Try Market Replay
With Market Replay, users can test their trading ideas and approaches based on historical tick data. Traders can increase and decrease the playback speed. This not only allows traders to test out new approaches, but also serves as an educational tool for beginners.
Find out more in our Help Center.
Get Full Internet Access for Your Algorithms
We have added specialised API methods for algorithms allowing them to go online without `AccessRights.FullAccess`. Algorithms can communicate with external services through JSON or HTML without compromising users' PCs.
Find out more in our Help Center.
Take ChartShots Automatically
You asked for it… we’ve done it! Due to the TakeChartshot() method, algorithms can take ChartShots of the current chart. They can be saved and used for additional protocoling of cBot actions.
Find out more in our Help Center.
Access Our Help Center in the Automate app
Guides, videos, and articles from the Help Center are now available in the right column next to the code editor window. Find all reference information staying on the platform: no need to google.
Use Built-in Sounds
From now on algo developers can use 5 built-in sounds in Automate API for adding sound notifications in their cBots and custom indicators.
Use Currency Conversion Overloads
We have implemented two new overloads for more convenient currency conversion. You can now receive accurate conversion rates even if you pass arguments of two different types (`Asset` and `String`) into the Convert() method.
Experience Compact Indicator Panels on Charts
To satisfy users’ requests, we have made the indicator panels on charts more compact. Now, there is more space for the chart itself.
Custom indicators are not getting loaded in Market Replay Window
Hi
Many thanks for the update.!
I have this issue with Market Replay:
1) Custom indicators are not getting loaded in Market Replay Window with this latest update.
Please fix the issue
I m trying to use the market replays, if i get any other issues i ll revert accordingly.
RE:
Spotware said:
cTrader Desktop 4.7 Offers Market Replay, Internet Access for Algos, and Other Features for Automate API
The cTrader Desktop 4.7 release delivers several fundamental features to our growing audience of traders and algo developers. With Market Replay, users can test their trading approaches based on historical data and without the risk of losing real funds. The cTrader Automate API now benefits from full internet access, the ChartShot method, built-in sounds for notifications in cBots and custom indicators, and the Help Center integrated into the app.
Try Market Replay
With Market Replay, users can test their trading ideas and approaches based on historical tick data. Traders can increase and decrease the playback speed. This not only allows traders to test out new approaches, but also serves as an educational tool for beginners.
Find out more in our Help Center.
Get Full Internet Access for Your Algorithms
We have added specialised API methods for algorithms allowing them to go online without `AccessRights.FullAccess`. Algorithms can communicate with external services through JSON or HTML without compromising users' PCs.
Find out more in our Help Center.
Take ChartShots Automatically
You asked for it… we’ve done it! Due to the TakeChartshot() method, algorithms can take ChartShots of the current chart. They can be saved and used for additional protocoling of cBot actions.
Find out more in our Help Center.
Access Our Help Center in the Automate app
Guides, videos, and articles from the Help Center are now available in the right column next to the code editor window. Find all reference information staying on the platform: no need to google.
Use Built-in Sounds
From now on algo developers can use 5 built-in sounds in Automate API for adding sound notifications in their cBots and custom indicators.
Use Currency Conversion Overloads
We have implemented two new overloads for more convenient currency conversion. You can now receive accurate conversion rates even if you pass arguments of two different types (`Asset` and `String`) into the Convert() method.
Experience Compact Indicator Panels on Charts
To satisfy users’ requests, we have made the indicator panels on charts more compact. Now, there is more space for the chart itself.
After detaching some charts from the main Desktop the buttons on the top of charts like Find indicators, Find cBots don't respond. Please solve this problem.
The bot's performance is significantly reduced when using version 4.7.7 compared to version 4.6.6
Dear ctrader team,
Thank you for always working to perfect ctrader.
There seems to be something wrong with this version because when I run the same bot with the same data source, the results running at ctrader 4.7.7 are significantly reduced compared to version 4.6.6.
Checking Bot: http://fx4u.net/robots/gbpusd-m15-price-action/
Data source: Icmarkets Tick data
Please note this issue and if possible fix it in the next versions.
Regards
Global package references not found with .net 6 bot
Guys I have had a lot of issues with upgrading my bots to .net 6 and my latest problem is that my nuget references are not found when the bots run.
With .net 6 we are now using PackageReference as explained here
- Performance improvements: When using PackageReference, packages are maintained in the global-packages folder (as described on Managing the global packages and cache folders rather than in a
packages
folder within the solution. As a result, PackageReference performs faster and consumes less disk space.
But I have found that I have had to manually add the references to get this to work. And this was the old way as well from reading a previous post. Moving forward manually having to add package references is really a pain when the references should just be found from the global reference. I am surprised that others don't seem to have had this problem recently?
Best Regards,
Alistair
RE: Global package references not found with .net 6 bot
I have added the nuget references directly by finding their locations and using add reference for the dlls but still at runtime the correct versions of the dlls are not found.
So the hint path is being ignored. Apparently the hint path is only for the compiler so its not used at run time.
<Reference Include="Microsoft.ML.Data">
<HintPath>..\..\..\..\..\..\.nuget\packages\microsoft.ml\2.0.1-preview.22573.9\lib\netstandard2.0\Microsoft.ML.Data.dll</HintPath>
<SpecificVersion>True</SpecificVersion>
</Reference>
I have tried with and without the specific version but I still get the error that the version of the dll is not found,
So I get errors like this
Could not load file or assembly 'Microsoft.ML.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
acrigney said:
Guys I have had a lot of issues with upgrading my bots to .net 6 and my latest problem is that my nuget references are not found when the bots run.
With .net 6 we are now using PackageReference as explained here
- Performance improvements: When using PackageReference, packages are maintained in the global-packages folder (as described on Managing the global packages and cache folders rather than in a
packages
folder within the solution. As a result, PackageReference performs faster and consumes less disk space.But I have found that I have had to manually add the references to get this to work. And this was the old way as well from reading a previous post. Moving forward manually having to add package references is really a pain when the references should just be found from the global reference. I am surprised that others don't seem to have had this problem recently?
Best Regards,
Alistair
RE: RE: Global package references not found with .net 6 bot
Guys can someone pick this up, I can pay someone to fix this?
acrigney said:
I have added the nuget references directly by finding their locations and using add reference for the dlls but still at runtime the correct versions of the dlls are not found.
So the hint path is being ignored. Apparently the hint path is only for the compiler so its not used at run time.
<Reference Include="Microsoft.ML.Data">
<HintPath>..\..\..\..\..\..\.nuget\packages\microsoft.ml\2.0.1-preview.22573.9\lib\netstandard2.0\Microsoft.ML.Data.dll</HintPath>
<SpecificVersion>True</SpecificVersion>
</Reference>I have tried with and without the specific version but I still get the error that the version of the dll is not found,
So I get errors like this
Could not load file or assembly 'Microsoft.ML.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
acrigney said:
Guys I have had a lot of issues with upgrading my bots to .net 6 and my latest problem is that my nuget references are not found when the bots run.
With .net 6 we are now using PackageReference as explained here
- Performance improvements: When using PackageReference, packages are maintained in the global-packages folder (as described on Managing the global packages and cache folders rather than in a
packages
folder within the solution. As a result, PackageReference performs faster and consumes less disk space.But I have found that I have had to manually add the references to get this to work. And this was the old way as well from reading a previous post. Moving forward manually having to add package references is really a pain when the references should just be found from the global reference. I am surprised that others don't seem to have had this problem recently?
Best Regards,
Alistair
RE: The bot's performance is significantly reduced when using version 4.7.7 compared to version 4.6.6
Fx4U.net said:
Dear ctrader team,
Thank you for always working to perfect ctrader.
There seems to be something wrong with this version because when I run the same bot with the same data source, the results running at ctrader 4.7.7 are significantly reduced compared to version 4.6.6.
Checking Bot: http://fx4u.net/robots/gbpusd-m15-price-action/
Data source: Icmarkets Tick dataPlease note this issue and if possible fix it in the next versions.
Regards
Dear trader,
Unfortunately we cannot use the provided cBot to reproduce the problem. Please provide us with the cBot's source code or with a cBot version that does not require full access.
Best regards,
cTrader Team
RE: RE: Global package references not found with .net 6 bot
I see other people are getting their questions answered. I fixed the issue as I found that the normal package references are not supported and you have to include all of the references that a package has internally, I was hoping that they could be picked up by the global references but they are not.
Also it seems that the robustness of ctrader has suffered since the upgrade to .net 6, e.g now I have to build twice, once in visual studio but ctrader still says that the bot has changed and needs to be rebuilt so I have to click the build button in ctrader. Actually the compile speed was has greatly improved thought!
acrigney said:
I have added the nuget references directly by finding their locations and using add reference for the dlls but still at runtime the correct versions of the dlls are not found.
So the hint path is being ignored. Apparently the hint path is only for the compiler so its not used at run time.
<Reference Include="Microsoft.ML.Data">
<HintPath>..\..\..\..\..\..\.nuget\packages\microsoft.ml\2.0.1-preview.22573.9\lib\netstandard2.0\Microsoft.ML.Data.dll</HintPath>
<SpecificVersion>True</SpecificVersion>
</Reference>I have tried with and without the specific version but I still get the error that the version of the dll is not found,
So I get errors like this
Could not load file or assembly 'Microsoft.ML.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
acrigney said:
Guys I have had a lot of issues with upgrading my bots to .net 6 and my latest problem is that my nuget references are not found when the bots run.
With .net 6 we are now using PackageReference as explained here
- Performance improvements: When using PackageReference, packages are maintained in the global-packages folder (as described on Managing the global packages and cache folders rather than in a
packages
folder within the solution. As a result, PackageReference performs faster and consumes less disk space.But I have found that I have had to manually add the references to get this to work. And this was the old way as well from reading a previous post. Moving forward manually having to add package references is really a pain when the references should just be found from the global reference. I am surprised that others don't seem to have had this problem recently?
Best Regards,
Alistair
RE: Global package references not found with .net 6 bot
Not to mention that I still cannot get debugging to work in VS2022, no version works I am using VS2022 17.6.0 Preview 3
acrigney said:
Guys I have had a lot of issues with upgrading my bots to .net 6 and my latest problem is that my nuget references are not found when the bots run.
With .net 6 we are now using PackageReference as explained here
- Performance improvements: When using PackageReference, packages are maintained in the global-packages folder (as described on Managing the global packages and cache folders rather than in a
packages
folder within the solution. As a result, PackageReference performs faster and consumes less disk space.But I have found that I have had to manually add the references to get this to work. And this was the old way as well from reading a previous post. Moving forward manually having to add package references is really a pain when the references should just be found from the global reference. I am surprised that others don't seem to have had this problem recently?
Best Regards,
Alistair