Topics
Replies
firemyst
26 Jun 2023, 05:58
( Updated at: 21 Dec 2023, 09:23 )
RE: RE:
Quant_Vs_Market said:
firemyst said:
JSON works perfectly with cAlgo. I use it in all my bots for saving states.
I'm using the NewtonSoft json package in Visual Studio.
You haven't stated anything on how you have your VS configured (if you're using it), nor any sample code reproducing your issue.
It simply says package "netwonsoft.json" is not supported, same thing with entityframework. so i reckon its blocked due to some reason. i am running .Net6.0, but i already removed these packages, i resorted to saving notepad files separated by random characters ;(
I suspect it may have something to do with the way it's been imported?
See with mine:
and it's a .Net 6.0 bot too:
and it's local to my machine when I add a reference in cTrader itself (make sure to do that instead of trying to add a reference in Visual Studio itself)
@firemyst
firemyst
24 Jun 2023, 17:19
This is a multistep process:
1) create a global variable that counts the number of crossovers.
private int _maCrossOverCount;
2) In the OnStart method, set the count to zero:
_maCrossOverCount = 0;
3) Every time a cross over happens, increase the count by 1. However, you have to decide if you want the cross over to count if it happens when a "tick" comes in or a new bar. Reason being is obviously if the MA's are close, they could cross over hundreds of time within a bar on every tick depending on how much price fluctuates
if (_sma1.Result.LastValue > _sma2.Result.LastValue)
{
_maCrossOverCount += 1;
//and
if (_sma1.Result.LastValue < _sma2.Result.LastValue)
{
_maCrossOverCount += 1;
4) Check the crossover count before you open a position:
if (_maCrossOverCount > 1)
{
/// code what you need to in order to open your position
}
@firemyst
firemyst
24 Jun 2023, 05:32
Someone can correct me if I'm wrong, but the PRC is retrofitted to price action. Only the current value of the PRC is not repainted. This is similar to a linear regression channel which is also retrofitted to price action. This means that the entire graph is repainted, with the exception of the current value of the channel, which can be used for an automated strategy.
This has already been discussed somewhat here:
@firemyst
firemyst
21 Jun 2023, 15:41
( Updated at: 21 Dec 2023, 09:23 )
I've experienced the same issue and I wasn't doing any backtesting -- only running a bot.
Renko 6 EURJPY. Date/time is UTC + 8 running cTrader 4.7.12.
Chart on one computer under "automate" when running/stopping a cBot:
Chart on second computer in trading tab (automate has the same chart too on this computer that was not running any cBots) :
@firemyst
firemyst
20 Jun 2023, 11:19
RE:
PanagiotisChar said:
Hi firemyst,
I guess when the data is downloaded once, it is then cached and reused by other instances too
Need help? Join us on Telegram
I would hope that's the way it is set to work. But if so, I think it would be better to only show one message saying data is being downloaded instead of 15 (like the screen capture) as that gives off the wrong impression.
Unless that's a "glitch" I came across :-)
@firemyst
firemyst
20 Jun 2023, 04:40
RE:
ncel01 said:
Hi firemyst,
I suppose that your account currency is AUD and that's for currency conversion purposes.
Thank you. that makes sense.
But be that as it may, I'm not sure why there has to be 15 separate threads downloading the SAME conversion rate data? Surely Spotware could implement it so that the data is downloaded ONCE and then shared between any number of child threads that may launch?
@firemyst
firemyst
28 Jun 2023, 06:54
In regards to your second point, why aren't you testing margin levels in your code _before_ sending the execute order? Your margin levels change dynamically, and the order execution isn't always instantaneous.
For instance, you could have margin level of 50% when you submit the order, but then price in another open position of yours drops, lowering your margin level below 50%, which means your order can no longer execute even though it had enough margin when you submitted the order.
@firemyst