What’s New in cTrader Desktop 4.7

Spotware's avatar

Spotware since: 23 Sep 2013;

  12 Apr 2023, 14:08
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.

Download cTrader Desktop 4.7

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. 

Download cTrader Desktop 4.7

TRADERS FIRST™ Vote for your favorite features: https://ctrader.com/forum/suggestions

mailforever90 since: 09 Feb 2023;

  13 Apr 2023, 09:19
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.

alexanderk7788 since: 13 Apr 2023;

  13 Apr 2023, 15:34
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.

Download cTrader Desktop 4.7

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. 

Download cTrader Desktop 4.7

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.

Fx4U.net since: 30 Oct 2021;

  13 Apr 2023, 20:21
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

http://fx4u.net

acrigney since: 25 May 2017;

  14 Apr 2023, 01:32
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

acrigney since: 25 May 2017;

  15 Apr 2023, 04:35
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

acrigney since: 25 May 2017;

  17 Apr 2023, 15:49
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

Spotware's avatar

Spotware since: 23 Sep 2013;

  18 Apr 2023, 09:48
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 data

Please 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

TRADERS FIRST™ Vote for your favorite features: https://ctrader.com/forum/suggestions

acrigney since: 25 May 2017;

  19 Apr 2023, 13:57
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

acrigney since: 25 May 2017;

  19 Apr 2023, 14:04
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