There is no reason to install the platform multiple times. Just open as many instances of the platform as you need.
Best regards,
Panagiotis
Ok, thanks for the solution provided.
Actually there's a reason: if I install the bots locally on the cTrader specific instance (so without online sync), I would have no chance to get confused and run the bot on the wrong instance. I might also create a shortcut on the desktop with the name of the bot and i would know that in that instance I could run the bot without worring of run the wrong one. Also, the instance would remember the last broker account used and propose it to me already selected on startup.
Just forward this feedback to the deveolpers team for an evaluation, please :)
Hi there,
You don't need separate installations for this, you can use multiple profiles.
Active Symbol Panel will be added in a future update of the application.
Best regards,
Panagiotis
Hey! Do you have any updates on this? Can we expect the Active Symbol Panel anytime soon? Without ASP, the user experience is quite bad.
As an alternate to Mac OS version, I'm currently using the web app but unfortunately web app performance is not that great. (The web page suddenly crashes with a message ‘Aw, Snap!’. ).
More info on device: I'm using latest version of chrome browser on MacOS latest version, Macbook Pro M3 Pro, 32GB ram.
Hi there,
We do not have an ETA unfortunately.
Best regards,
Panagiotis
Hello, Has there been any updates regarding this feature?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using cAlgo.API; using cAlgo.API.Collections; using cAlgo.API.Indicators; using cAlgo.API.Internals; using System.Globalization; namespace cAlgo { [Indicator(AccessRights = AccessRights.FullAccess, IsOverlay = true, TimeZone = TimeZones.UTC)] public class TradingSessions : Indicator { [Parameter("Version:", DefaultValue = "1.0.1")] public string Version { get; set; }
[Parameter("Show for how many days", Group = "Sessions", DefaultValue = 15, MinValue = 0)] public int Back_days { get; set; } [Parameter("Filled Zones", DefaultValue = true, Group = "Sessions")] public bool Filled_Zones { get; set; } [Parameter("Show Labels", DefaultValue = true, Group = "Sessions")] public bool Show_Labels { get; set; } [Parameter("Infinitie range", DefaultValue = Infinite_Range.None, Group = "Sessions")] public Infinite_Range InfiniteRange { get; set; } public enum Infinite_Range { Up, Down, Both, None }
[Parameter("Show Session 1", DefaultValue = true, Group = "Session 1")] public bool S1_Show { get; set; } [Parameter("Session Label", DefaultValue = "Sydney", Group = "Session 1")] public string S1_Label { get; set; } [Parameter("Start time", DefaultValue = "21:00", Group = "Session 1")] public string S1_open { get; set; } [Parameter("End time", DefaultValue = "06:00", Group = "Session 1")] public string S1_close { get; set; } [Parameter("Color", Group = "Session 1", DefaultValue = "#20BEBF00")] public Color S1_Color { get; set; } [Parameter("Line Style", Group = "Session 1", DefaultValue = LineStyle.DotsRare)] public LineStyle S1_LineStyle { get; set; }
[Parameter("Show Session 2", DefaultValue = true, Group = "Session 2")] public bool S2_Show { get; set; } [Parameter("Session Label", DefaultValue = "Tokyo", Group = "Session 2")] public string S2_Label { get; set; } [Parameter("Start time", DefaultValue = "00:00", Group = "Session 2")] public string S2_open { get; set; } [Parameter("End time", DefaultValue = "09:00", Group = "Session 2")] public string S2_close { get; set; } [Parameter("Color", Group = "Session 2", DefaultValue = "#2001AF50")] public Color S2_Color { get; set; } [Parameter("Line Style", Group = "Session 2", DefaultValue = LineStyle.DotsRare)] public LineStyle S2_LineStyle { get; set; }
[Parameter("Show Session 3", DefaultValue = true, Group = "Session 3")] public bool S3_Show { get; set; } [Parameter("Session Label", DefaultValue = "London", Group = "Session 3")] public string S3_Label { get; set; } [Parameter("Start time", DefaultValue = "07:00", Group = "Session 3")] public string S3_open { get; set; } [Parameter("End time", DefaultValue = "16:00", Group = "Session 3")] public string S3_close { get; set; } [Parameter("Color", Group = "Session 3", DefaultValue = "#2033C1F3")] public Color S3_Color { get; set; } [Parameter("Line Style", Group = "Session 3", DefaultValue = LineStyle.DotsRare)] public LineStyle S3_LineStyle { get; set; }
[Parameter("Show Session 4", DefaultValue = true, Group = "Session 4")] public bool S4_Show { get; set; } [Parameter("Session Label", DefaultValue = "New York", Group = "Session 4")] public string S4_Label { get; set; } [Parameter("Start time", DefaultValue = "13:00", Group = "Session 4")] public string S4_open { get; set; } [Parameter("End time", DefaultValue = "22:00", Group = "Session 4")] public string S4_close { get; set; } [Parameter("Color", Group = "Session 4", DefaultValue = "#20FF3334")] public Color S4_Color { get; set; } [Parameter("Line Style", Group = "Session 4", DefaultValue = LineStyle.DotsRare)] public LineStyle S4_LineStyle { get; set; }
[Parameter("Show Session 5", DefaultValue = false, Group = "Session 5")] public bool S5_Show { get; set; } [Parameter("Session Label", DefaultValue = "", Group = "Session 5")] public string S5_Label { get; set; } [Parameter("Start time", DefaultValue = "00:00", Group = "Session 5")] public string S5_open { get; set; } [Parameter("End time", DefaultValue = "09:00", Group = "Session 5")] public string S5_close { get; set; } [Parameter("Color", Group = "Session 5", DefaultValue = "#75939695")] public Color S5_Color { get; set; } [Parameter("Line Style", Group = "Session 5", DefaultValue = LineStyle.DotsRare)] public LineStyle S5_LineStyle { get; set; }
public List<Session> _sessions = new();
protected override void Initialize() { if (Bars.TimeFrame > TimeFrame.Hour4) return;
if (S1_Show && S1_Label != "") _sessions.Add(new Session { name = S1_Label, Open = TimeSpan.Parse(S1_open, CultureInfo.InvariantCulture), Close = TimeSpan.Parse(S1_close), Color = S1_Color, LineStyle = S1_LineStyle }); if (S2_Show && S1_Label != "") _sessions.Add(new Session { name = S2_Label, Open = TimeSpan.Parse(S2_open, CultureInfo.InvariantCulture), Close = TimeSpan.Parse(S2_close), Color = S2_Color, LineStyle = S2_LineStyle }); if (S3_Show && S1_Label != "") _sessions.Add(new Session { name = S3_Label, Open = TimeSpan.Parse(S3_open, CultureInfo.InvariantCulture), Close = TimeSpan.Parse(S3_close), Color = S3_Color, LineStyle = S3_LineStyle }); if (S4_Show && S1_Label != "") _sessions.Add(new Session { name = S4_Label, Open = TimeSpan.Parse(S4_open, CultureInfo.InvariantCulture), Close = TimeSpan.Parse(S4_close), Color = S4_Color, LineStyle = S4_LineStyle }); if (S5_Show && S1_Label != "") _sessions.Add(new Session { name = S5_Label, Open = TimeSpan.Parse(S5_open, CultureInfo.InvariantCulture), Close = TimeSpan.Parse(S5_close), Color = S5_Color, LineStyle = S5_LineStyle });
foreach (var session in _sessions) { Draw_rect(session.name, session.Open, session.Close, session.Color, session.LineStyle); } var bars_m1 = MarketData.GetBars(TimeFrame.Minute, Symbol.Name); bars_m1.BarOpened += bars_m1_BarOpened;
var Current_bars = MarketData.GetBars(Bars.TimeFrame, Symbol.Name); Current_bars.BarOpened += Current_bars_BarOpened; ; }
public class Session { public string name { get; set; } public TimeSpan Open { get; set; } public TimeSpan Close { get; set; } public Color Color { get; set; } public LineStyle LineStyle { get; set; } } }
Hi there,
It looks fine on our side. If the issue persists for the user, please ask him send us some troubleshooting info and quote the link to this discussion.
No clues unfortunately. Can you record a video demonstrating the whole UI and the entire process of adding an instance and reproducing the issue? Maybe it can provide some information we are missing
Noticed the same problem after getting BSOD on “Memory Management” multiple times. I was observing memory consumption of cTrader and it went from 1700MB at the start to 2700MB in about 20 minutes, and still growing. My 64GB RAM can probably handle some load but i's flustrating to monitor it and restart cTrader time to time. Other platforms - MT4, ATAS - are working fine. CTrader is otherwise great platform.
Hi there,
Are you running custom indicators/cBots (Your screenshot indicates that you do, there are 14 processes running)? If yes, please remove them/stop them and let us know if the issue persists.
I'm not sure about a plugin situation, but you can save the toggle button states to a file, and when the file is updated have your other running cBots read/update their charts based on whatever values you have saved in the file.
Note that this method isn't possible if you're running bots in the cloud as I don't believe bots in the cloud can read/write files.
Keep us posted with the solution you implement.
Thanks firemyst, i did think of the external file solution, but thought there may be a more “built-in” solution. Something similar to the Sync Chart Objects Indicator that allows a change on one, to affect all. I'll keep looking and will update with any solution i find. If anyone does know if you're able to reference plug-ins from within a cBot, i'd be very interested as to how to implement it.
Many Thanks,
Hi there,
Have a look at this video. It will give you some ideas
I cannot reproduce any problem. Can you share screenshots demonstrating this issue?
Best regards,
Panagiotis
As you can see. In the Cloud. The MA TYPES, Simple, triangular, hull, etc. Can not be selected.
What do you mean, when you said you found no error? Are the MA TYPE SHOWING in the cloud for you? Can you actually select them? Could you share a screen shot? Many thanks PANAGIOTIS!
PanagiotisCharalampous
26 Oct 2024, 05:49
RE: RE: run multiple instances of the platform
kyosuke said:
Hi there,
You don't need separate installations for this, you can use multiple profiles.
Best regards,
Panagiotis
@PanagiotisCharalampous