Replies

PanagiotisCharalampous
29 Jul 2024, 05:23

RE: RE: RE: RE: Creating a form in the plugin failed

tikahcm2 said: 

How can I convert this cbot into a plugin?

thanks!

Hi there,

There is no specific conversion process. You need to write a plug in from scratch with the same functionality.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
29 Jul 2024, 05:22

Hi there,

There is no such option at the moment in cTrader.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
29 Jul 2024, 05:20

Hi there,

  1. All indicators should work on Mac. Please provide us some examples so that we can check. If you can also share screenshots demonstrating what you are looking at, it would be helpful.
  2. There isn't. You need to have the sufficient margin in order to open a position. You can try depositing some more funds to your demo account.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
28 Jul 2024, 08:20

Hi there,

Please provide a better description of your problem. Share some screenshots as well so that we can understand what you are referring to.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
28 Jul 2024, 08:18

Hi there,

Talk to your prop firm about this.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
28 Jul 2024, 07:34

RE: RE: Creating a form in the plugin failed

tikahcm2 said: 

PanagiotisCharalampous said: 

Thanks for replying
Here is my code. (no error reported when compiling)

using System;using System.Drawing;using cAlgo.API;using System.Threading;using System.Windows.Forms;using System.Media;namespace cAlgo.Robots{    [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.FullAccess)]        public class CountDown : Robot    {        [Parameter("Alert On", DefaultValue = true)]        public bool paramAlertOn { get; set; }        [Parameter("Always On Top", DefaultValue = true)]        public bool paramOnTop { get; set; }                [Parameter("Sound File Path", DefaultValue = "C:\\Users\\theha\\OneDrive\\Documents\\cAlgo\\sound.wav")]        public string SoundFilePath { get; set; }        private Thread _thread;        private frmCandleCountdown _counter;                const string alertFile = @"C:\Users\theha\OneDrive\Documents\cAlgo\sound.wmp3";         protected override void OnStart()        {            Timer.Start(1);            _counter = new frmCandleCountdown(this, paramOnTop);            _thread = new Thread(() =>{ _counter.ShowDialog(); });                                   _thread.SetApartmentState(ApartmentState.STA);            _thread.Start();            }        protected override void OnTimer()        {            int cdMinutes = 14 - Time.Minute % 15;             int cdSeconds = 59 - Time.Second;            _thread = new Thread(() =>{ _counter.UpdateCounter(cdMinutes.ToString("00")+":"+cdSeconds.ToString("00"));});            _thread.SetApartmentState(ApartmentState.STA);            _thread.Start();             if (Time.Second==31 && paramAlertOn)              {                             Notifications.PlaySound(SoundFilePath);            }          }                 protected override void OnStop()        {            _thread = new Thread(() => {_counter.Close();});            _thread.SetApartmentState(ApartmentState.STA);            _thread.Start();        }    }        public partial class frmCandleCountdown : Form    {        private const string resourcePath = @"C:\Users\theha\OneDrive\Documents\cAlgo\";        CountDown caller;        bool alwaysOnTop = true;        public frmCandleCountdown(CountDown _caller, bool _alwaysOnTop)        {            alwaysOnTop = _alwaysOnTop;            caller = _caller;            InitializeComponent();        }        public void UpdateCounter(string _text)        {            lblCounter.Text = _text;        }        private void frmCandleCountdown_FormClosed(object sender, FormClosedEventArgs e)        {            caller.Stop();        }        private void frmCandleCountdown_Load(object sender, EventArgs e)        {            this.Icon = new Icon(resourcePath+"Countdown.ico");            this.TopMost = alwaysOnTop;        }    }        partial class frmCandleCountdown    {                private System.ComponentModel.IContainer components = null;        protected override void Dispose(bool disposing)        {            if (disposing && (components != null))            {                components.Dispose();            }            base.Dispose(disposing);        }        #region Windows Form Designer generated code        private void InitializeComponent()        {            this.lblCounter = new System.Windows.Forms.Label();            this.SuspendLayout();            this.lblCounter.Dock = System.Windows.Forms.DockStyle.Top;             this.lblCounter.Font = new System.Drawing.Font("Bahnschrift SemiBold", 33F, System.Drawing.FontStyle.Regular);            this.lblCounter.Location = new System.Drawing.Point(0, 0);            this.lblCounter.Name = "lblCounter";            this.lblCounter.Size = new System.Drawing.Size(39, 39);            this.lblCounter.TabIndex = 0;            this.lblCounter.Text = "00:00";            this.lblCounter.TextAlign = System.Drawing.ContentAlignment.TopCenter;             this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;             this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;            this.BackColor = System.Drawing.SystemColors.GrayText;            this.ClientSize = new System.Drawing.Size(39, 39);             this.Controls.Add(this.lblCounter);            this.Font = new System.Drawing.Font("Microsoft Sans Serif", 16.39F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;                         this.Name = "frmCandleCountdown";            this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;              this.Left = Screen.PrimaryScreen.Bounds.Width-139;                 this.Text = "Candle Count Down";            this.TopMost = true;             this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.frmCandleCountdown_FormClosed);            this.Load += new System.EventHandler(this.frmCandleCountdown_Load);            this.ResumeLayout(true);        }        #endregion                private System.Windows.Forms.Label lblCounter;            }    }  

Please check why the plugin is not running./.

Hi there,

I just tried this and works fine for me

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
28 Jul 2024, 07:19

Hi there, 

No it does not. It will be added in a future release.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
28 Jul 2024, 07:18

RE: RE: RE: Buy and Sell

ctid8222180 said: 

setting the system to buy or sell and then always clicking a green button below is kinda dumb and easily leads to buying instead of selling and visa versa. 

since 25 years ago - the protocol was to click on the bid to sell and click on the offer to buy - simple - easy - hard to get confused - and simply have a check box to make it go live. 

 

Hi there,

The form calculates values e.g margin, for which the direction is necessary. The direction is also necessary for the chart on the right. Therefore the direction needs to be known before hand.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
28 Jul 2024, 07:11

Hi there,

Please share your cBot code and cBot parameters you are trying to execute so that we can check.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
28 Jul 2024, 07:08

Check your logs, your problem is with the volume. You need to round your volume before you use it


@PanagiotisCharalampous

PanagiotisCharalampous
28 Jul 2024, 06:46

RE: RE: RE: RE: Testnet Server

santhosh.ms said: 

If We do collaborate with ctrader like as CTrader and FTMO

Hi there,

It is still not clear to me what exactly are you looking for. If you are looking to become a client of cTrader, please contact sales@spotware.com

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Jul 2024, 10:54

RE: RE: Cannot to be Signal Provider for Live account

ctid5249946 said: 

PanagiotisCharalampous said: 

Hi there,

Probably your broker does not offer cTrader Copy. Reach out to them for more information.

Best regards,

Panagiotis

Confirmed with the broker owner that they offer cTrader Copy.

Hi there,

You need to use your broker's cTrader application to see your accounts.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Jul 2024, 10:46

RE: Testnet Server

santhosh.ms said: 

In order to create our own server like FTMO we will need to first understand the basics of server setup and maintenance. We must carefully choose the right hardware and software components that will support our desired functionality. Once we have all the necessary tools and resources we can start building and configuring our server according to our specific requirements. It is important to regularly monitor and update our server to ensure optimal performance and security. By following these steps diligently we can successfully create a server similar to FTMO for our own use.

 


 

Hi there,

I am not sure I understand what you are talking about.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Jul 2024, 09:05

RE: RE: RE: RE: Copy from one broker to another broker

JINGXUAN said: 

PanagiotisCharalampous said: 

TradeExpert said: 

Thank you, and if the symbol is mapped correctly, then there is no problem to copy trades  from one broker to another, right?


PanagiotisCharalampous said: 

Hi there,

There is a mapping between symbols with different names. If you think a symbol is not mapped correctly accross symbols, feel free to share more information about it.

Best regards,

Panagiotis

 

Yes this is correct

Which means when my robot execute #USSPX500 in FxPro, for my investor who using ICMarket will execute US500 at the same time when my robot trigger execution but there might be different spread/commission/swap which lead to different PnL result, investor account will execute any order whenever strategy provider account execute any order, is that correct? 

Yes


@PanagiotisCharalampous

PanagiotisCharalampous
26 Jul 2024, 09:05

Hi there,

You can use demo accounts and demo servers for this.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Jul 2024, 06:08

RE: RE: Risk-Reward Tool missing on the desktop version

ctid5137747 said: 

PanagiotisCharalampous said: 

Hi there,

It is not available at the moment, it will be added in a future update.

Best regards,

Panagiotis

Do we know when?

Thanks Dennis

Unfortunately no


@PanagiotisCharalampous

PanagiotisCharalampous
26 Jul 2024, 06:07

Hi there,

Unfortunately I did not understand what is the issue you are trying to describe. You can place an order with one click using several ways e.g. QuickTrade buttons. Can you please elaborate?

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Jul 2024, 06:05

RE: RE: Critical bot action error. Bankruption possible.

patrickandrade2 said: 

PanagiotisCharalampous said: 

As explained in your other thread, this is an issue of your cBot, you need to handle this situation inside your cBot code

I saw that other people had the exact same problem, and the same issue happens even if you use an algo bot ctrader generated bot. I don't think it's a “me” problem, there's even a post on quora about someone who had the exact same issue and didn't find any answer here or in the ctrader database. Looks like it's something like a latency issue with ctrader while using bots, if there's a command to input a stop loss and the ctrader doesn't compute that command and proceeds with the order it doesn't look like something an external code should fix.

Hi there,

I have explained why this happens and how it can be handled. If you have evidence that this is not what happens i.e. you set a stop loss outside the spread but it is not placed, then provide us with clear instructions on how to reproduce this and we will have a look.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Jul 2024, 05:58

RE: RE: Crashed Error Instance

angelalzatewm said: 

PanagiotisCharalampous said: 

Hi there,

As per the message, your cBot crashes. Please share your cBot code so that we can check.

Best regards,

Panagiotis

Hi, thanks for your answer, however, I find it curious that it is in a matter of seconds that the cbot stops and immediately connects, and there should at least be a message with the type of error that is being generated and it only shows a dot.

Well we cannot advise for a cBot we cannot see :) Share your code and we will have a look


@PanagiotisCharalampous

PanagiotisCharalampous
26 Jul 2024, 05:56

Hi there,

Please share your cBot code so that we can check what happens.

Best regards,

Panagiotis


@PanagiotisCharalampous