Because I want to be able calculate balance/equity drawdown within certain time frames.
How do you calculate this without any information on the cash flow?
You check the account balance. Set up your own timer event, and check every x minutes/hours.
Or on every tick or like every 3rd tick that comes in.
And program your bot/indicator to only check within the time frames you want to check.
You have your current account balance. Next time you check, if it increase you know how much came in; if it decreases you know how much went out. That would be your cash flow.
So if your account balance is $10k, and in 3 ticks it's $10.5k, you know $500 came in. What's the difference between that and having a “Deposit event” that was triggered with $500?
//Class variable
double _previousAccountBalance = Account.Balance;
//in onTick or whenever, call a method to check your balance
CheckMyBalance();
//basic structure for method
private void CheckMyBalance()
{
if (Account.Balance > _previousAccountBalance)
{
///a deposit came in
//do what you need to
//taking into account whether or not a position was closed
}
else if (Account.Balance < _previousAccountBalance)
{
///a withdrawal happened
//do what you need to
//taking into account whether or not a position was closed
}
}
That will have your updated balance which you can use to calculate for risk management purposes, because you'll only be allowed to base your risk management on whatever's in your account anyway.
An example of an even easier method, which I use, is:
if (Symbol.MarketHours.IsOpened()) { // market is open, do what you want }else { //market is closed for the symbol. Do what you want }
Market hours are different to market sessions. Market hours are set by the broker. Market sessions are global.
Fair point. But the OP said when the market was “open” and didn't specifically mention “market sessions” (although the OP did say “inactive” just as they said “open”).
So since it was vague to me, I provided another alternative just in case that's what the OP meant.
PLease consider posting what you want to the “Suggestions” forum as this forum is for technical support and won't be looked at by Spotware for suggestions
First of all, you can choose what lines you want displayed on the chart:
Second, if you write your own code, just get the symbol's “ASK” price or “BID” price depending on what you want to display.
eg: Symbol.Ask
As the topic says I need Bid and Ask Candles
Then as I said, you'll have to write your own code. There is no option to display both bid and ask candles next to each other, or anywhere together, on a chart.
This problem should have been resolved by now. Please restart your cTrader and in case you still experience problems, please send us some troubleshooting information quoting this thread.
Best regards,
Panagiotis
I know you've probably not had the best of weeks but I think Patty's eloquent, insightful and detailed feedback possibly deserved a bit more than your identikit "problem solved" response. Probably unfair of me considering, but at the very least I hope Spotware takes points on board points 1,2,4 and 5 relating more to development process than any particular bug.
In at least the last 7 years I've been on these forums and have seen Panagiotis' responses, I can't recall a time where I've ever seen him do a generic copy/paste of responses like this. Even though it says it's his account, I'm not convinced it's him who actually wrote it. If it is, it's definitely “desperate times, desperate measures” and I'd be a bit disappointed like everyone else.
That aside, you can tell Spotware must be receiving A LOT of bugs and issue complaints with their release that all they can do to keep up is respond with the generic cookie-cutter response as you indicated.
Surely they must realize by now they are screwing up big time and need to get their act sorted?
It's quite evident from the string of releases that they have no automated testing procedures in place, nor any dedicated team of testers to review/test releases.
Way too many of these bugs that have been found and affect the application would have been caught doing basic testing if users are experiencing issues within a day of using the software.
Just look at the recent bug I've reported back in May/June with cBots and it's still not resolved. How can anyone trust cTrader to run any bots when there's a huge known bug that's gone unfixed since at least June?!
If there's any leadership at Spotware, they need to dump their people who are responsible for quality control, and some of their developers who should be doing basic unit tests (and catching these issues) to get some people in there who believe they should actually test their software before releasing to the public.
firemyst
05 Nov 2024, 06:09
( Updated at: 05 Nov 2024, 08:02 )
Judging from your charts, are you located in the UK?
That “gap” appears to have happened when the markets start their “reset” window, which causes huge spreads.
Because of that, what you obviously need to do is check the spread on the symbol before doing anything.
//Check the spread
if (Symbol.Spread >= SomePredeterminedAmount)
Print ("Not doing anything! Spread greater than allowed!");
else
{
//Do what you normally would
}
The fact it's the spread can also be confirmed by looking at the “tick” chart for the same time - look how the spread suddenly at least quadrupples:
firemyst
21 Nov 2024, 12:41
RE: RE: Deposits-withdrawals collections / events
ncel01 said:
You check the account balance. Set up your own timer event, and check every x minutes/hours.
Or on every tick or like every 3rd tick that comes in.
And program your bot/indicator to only check within the time frames you want to check.
You have your current account balance. Next time you check, if it increase you know how much came in; if it decreases you know how much went out. That would be your cash flow.
So if your account balance is $10k, and in 3 ticks it's $10.5k, you know $500 came in. What's the difference between that and having a “Deposit event” that was triggered with $500?
@firemyst