Error | Failed to get symbol 'BTCUSD' quotes: Symbol BTCUSD has no quotes at 01/01/2020 00:00:00
This error has been the cause of my headache for the past couple of days.
I am using cTrader Desktop 5.0.25 and the error shows up at the start of backtesting with visual mode ticked (thats how i get to see the error) when visual mode is turned off the error does not show up.
This error (in both visual & non visual backtesting modes) causes my bot not to place valid trades
I am backtesting BTCUSD M5 from 01/01/2020 - 05/07/2024 using m1 bars from server (open prices)
See below
Please help, this is very urgent and a huge show stopper !!!
Hi there,
Please create a separate thread and provide your code and broker so that we can reproduce.
You are increasing the position size when a trade is successful and when the position closes. In position closing event, you should only reset the volume size and not increase it.
You are increasing the position size when a trade is successful and when the position closes. In position closing event, you should only reset the volume size and not increase it.
This is the case even when a cBot is running (as shown below), suggesting that the respective cBot instance is always running on the active account, which is (obviously) not always the case.
I do not understand what is the problem. What other case could there be for local execution?
In addition to this, I don't see any explicit reference to the respective account where a cBot is running.
What do you mean by explicit reference?
Hi Panagiotis,
I do not understand what is the problem. What other case could there be for local execution?
Isn't the issue obvious? I've addressed this in the original thread. The account mentioned in the screenshot is not the account in which the cBot is running. Question #1: What's the purpose/logic behind mentioning an account other than the cBot's respective account?
What do you mean by explicit reference?
Question #2: How to easily check the account associated to a running cBot? I don't see this information explicitly (at a glance) available.
Hi ncel01,
I still don't understand
Isn't the issue obvious? I've addressed this in the original thread.
No, that is why I am asking.
The account mentioned in the screenshot is not the account in which the cBot is running.
Please provide screenshots demonstrating this
Question #1: What's the purpose/logic behind mentioning an account other than the cBot's respective account?
Cloud execution. If the cBot is executed on the cloud it could run on a different account.
Question #2: How to easily check the account associated to a running cBot? I don't see this information explicitly (at a glance) available.
I don't understand what do you want to check. It should be what you see on your screen.
Best regards,
Panagiotis
Hi Panagiotis,
The account mentioned in the screenshot is not the account in which the cBot is running. Correction: Every time a new account is selected, the cBot execution is stopped on the previous account and applied to the new account instantly, which is also not great, I'd say.
However, I noticed that every time a demo account is involved, the cBot execution is stopped and not applied to the new account. This does not make much sense to me. Shouldn't this work the other way around, for obvious reasons? To make it worse, users are not warned when switching accounts while a cBot is running, which would prevent a cBot from stopping on the current account, as well as any accidental cBot execution on the new account.
Cloud execution. If the cBot is executed on the cloud it could run on a different account.
Why is this not possible locally as well? It would be a great feature. At the moment, every cBot running on a different account requires a dedicated cTrader instance which is very resource-intensive.
Hi there,
Ok it's more clear now. I still don't see the problem. Local execution works the same way since cAlgo 1.0. Running a cBot on an account that is not the one to which cTrader is connected is not as simple as it sounds and not as obvious as it might be for your. Not all users would like such a breaking change to the way cTrader has always worked. That's why you have an option of running your cBot in an external process.
Could you pleasesend us some troubleshooting information the next time this happens? Please paste a link to this discussion inside the text box before you submit it.
The Symbol.MinCommissionType property is indeed designed to provide clarity on how the minimum commission (MinCommission) is expressed. Here are the key reasons for its existence:
Clarity and Explicitness:
The property explicitly states whether the MinCommission is denominated in the symbol’s quote asset or a different asset. This helps prevent any ambiguity or misinterpretation, especially when dealing with various symbols and assets.
Ease of Use:
By providing a clear indication of the commission type, it simplifies the logic needed to handle different commission structures. This can be particularly useful in complex algorithms where commission calculations play a significant role.
Comparative Check:
While you could infer the commission type by comparing the MinCommissionAsset with the quote asset, having a dedicated property like MinCommissionType allows for a quicker, more direct check. This can enhance code readability and maintainability.
Example Use Case:
Consider a scenario where you need to implement different handling or calculations based on whether the MinCommission is in the quote asset or another asset. The MinCommissionType property allows you to write straightforward conditional logic without needing additional comparisons or checks.
While the MinCommissionAsset property provides the specific asset in which the commission is denominated, the MinCommissionType property adds an additional layer of clarity and convenience. It allows you to easily understand and handle the commission structure without needing extra logic for comparison.
Arguably the most important settings before deploying a bot are its parameters. Hidden away in the poorly titled “Public Settings”, I assume this is the only place you can change the symbol and period for a bot? Do you really need to create multiple instances of a bot for each set of parameters?
Not sure what do you mean. It's as easy as before
When you add a bot to a chart you've got no option to change its parameters from the chart view, you have to go back to algo, back through the stupid intermediary page, click on the poorly titled "Public settings" button that opens a window that finally provides its parameters. Why not allow for the settings dialog to be opened by double clicking the bot widget on the chart?
This is the case even when a cBot is running (as shown below), suggesting that the respective cBot instance is always running on the active account, which is (obviously) not always the case.
I do not understand what is the problem. What other case could there be for local execution?
In addition to this, I don't see any explicit reference to the respective account where a cBot is running.
What do you mean by explicit reference?
Hi Panagiotis,
I do not understand what is the problem. What other case could there be for local execution?
Isn't the issue obvious? I've addressed this in the original thread. The account mentioned in the screenshot is not the account in which the cBot is running. Question #1: What's the purpose/logic behind mentioning an account other than the cBot's respective account?
What do you mean by explicit reference?
Question #2: How to easily check the account associated to a running cBot? I don't see this information explicitly (at a glance) available.
Hi ncel01,
I still don't understand
Isn't the issue obvious? I've addressed this in the original thread.
No, that is why I am asking.
The account mentioned in the screenshot is not the account in which the cBot is running.
Please provide screenshots demonstrating this
Question #1: What's the purpose/logic behind mentioning an account other than the cBot's respective account?
Cloud execution. If the cBot is executed on the cloud it could run on a different account.
Question #2: How to easily check the account associated to a running cBot? I don't see this information explicitly (at a glance) available.
I don't understand what do you want to check. It should be what you see on your screen.
PanagiotisCharalampous
06 Jul 2024, 05:48
RE: Symbol not found or has no quotes
kenneyyfx said:
Hi there,
Please create a separate thread and provide your code and broker so that we can reproduce.
Best regards,
Panagiotis
@PanagiotisCharalampous