Replies

PanagiotisCharalampous
16 Apr 2024, 06:48

Hi there,

No this is not possible in cTrader Desktop.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
16 Apr 2024, 05:46

RE: RE: RE: RE: RE: RE: RE: RE: RE: Converting to deposit currency

ctid4921325 said: 

PanagiotisCharalampous said: 

ctid4921325 said: 

PanagiotisCharalampous said: 

ctid4921325 said: 

PanagiotisCharalampous said: 

ctid4921325 said: 

In the meantime, does any one know the easiest way to get the exchange rate between quote currency and deposit currency so I can do my own calc and not get blocked by asset converter?

 

 

Hi there,

The issue was reproduced and will be fixed in an upcoming update.

Best regards,

Panagiotis

spectacular, thanks so much!  Is there away i can work around this in the mean time?

Unfortunately there is no easy workaround

fair enough, do you have an idea how far out the update is?

Unfortunately I do not have an ETA for the update

Hi Panagiotis,  just checking back in and see if there's any sign of this update been released soon, or if you know when? 

 

thanks, Glenn

Hi Glenn,

It will be released soon but I do not have a date to provide unfortunately.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
16 Apr 2024, 05:43

Hi there,

If the issue persists please send us some troubleshooting info and quote the link to this discussion.

Best Regards,

Panagiotis 


 


@PanagiotisCharalampous

PanagiotisCharalampous
16 Apr 2024, 05:41

Hi ncel01,

No the form is modal. You would need you use your own solution to avoid this.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
16 Apr 2024, 05:36

RE: RE: Indicators reload multiple times?

matcwhite said: 

PanagiotisCharalampous said: 

Dear Matt,

Please provide us with the exact steps you follow to reproduce this behavior so that we can explain what happens. If you can record a video, it would be helpful.

Best regards,

Panagiotis

 

 

Here you go. the indicator is a simple EMA. When switching timeframes, sometimes it reloads itself 3 times, sometimes 2, sometimes just once.

https://file.io/P5aP60O0yr4K

Very curious to understand what's going on :)

Thanks,

Mat

 

 

Hi Mat,

Unfortunately the link you provided is not accessible.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
16 Apr 2024, 05:34

RE: RE: Why are my controls being reset when starting cBot instance on another symbol?

krsnv said: 

PanagiotisCharalampous said: 

Hi there,

Please share your code and exact steps to reproduce this problem.

Best regards,

Panagiotis

Hi, any ideas?

Hi there, 

This happens because all the controls belong to the same group name. Try something like this

        var limitRadioButton = new RadioButton
        {
            Text = "Limit",
            IsChecked = true,
            GroupName = "OrderType" + InstanceId,
            Margin = 10,
        };

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
15 Apr 2024, 11:14

RE: Issue with Windows 11 Pro

Waxy said: 

Hello Panagiotis,

This doesn't seem to address the inconsistencies between the different Windows versions, it shouldn't crash this way.

Besides, is there other way to put this control above the ask line besides negative margin? I will try with Canvas Top/Bottom and get back when I'm able to test it.

I have seen other size and margin inconsistencies that are not using negative margins, if possible to replicate I'll attach it here.

Thanks for your reply.

Regards,

Hi Waxy,

The inconsistency is in the behavior of the OS, not of cTrader. The one version supports negative numbers, the other does not. We can't do something about this at the moment except of also disabling the option for the one that works, for the sake of consistency. You should use the y parameter to place the control where you need it.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
15 Apr 2024, 08:05

Hi there,

There is no such option at the moment.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
15 Apr 2024, 06:59

Hi there,

The issue is a result of using negative values Thickness

Margin = new Thickness(0, -22, 0, 0)

Please use positive or zero values only.

Best regards, 

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
15 Apr 2024, 06:05

Hi all,

We managed to reproduce the problem and it will be fixed in an upcoming release of cTrader.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
14 Apr 2024, 08:20

Hi there,

No there isn't

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
14 Apr 2024, 08:18

RE: RE: Funds withdrawal to standard bank Iban

Shares4UsDevelopment said: 

PanagiotisCharalampous said: 

Hi there,

We can't do this since the funds are not actually held by cTrader but by your broker.

Best regards,

Panagiotis

you can add the functionality and let the broker decide if he wants to implement it.
Most professional traders have some sort of rules about withdrawals and can benefit from automating it.

We can't because there is nothing related to this in cTrader. If the broker wants to give you access to their deposit/withdawal workflow, they can do it through their own APIs

Best regards,

Paangiotis


@PanagiotisCharalampous

PanagiotisCharalampous
14 Apr 2024, 08:15

Dear Matt,

Please provide us with the exact steps you follow to reproduce this behavior so that we can explain what happens. If you can record a video, it would be helpful.

Best regards,

Panagiotis

 


@PanagiotisCharalampous

PanagiotisCharalampous
14 Apr 2024, 08:12

Hi there,

Price feeds are a responsibility of the broker. Please talk to them.

Regarding the dates, months change on UTC+3 timezone. So if you want to see the starting date as the first day of the month, you need to change your timezone to UTC+3.

Best regards,

Panagiotis

 


@PanagiotisCharalampous

PanagiotisCharalampous
14 Apr 2024, 08:09

Hi there,

We will respond to your email.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
14 Apr 2024, 08:07

RE: RE: RE: RE: RE: RE: RE: RE: RE: RE: Custom indicator with TimeFrame.Hour4 not showing Last(1) value in cBot.

ys2310 said: 

PanagiotisCharalampous said: 

ys2310 said: 

PanagiotisCharalampous said: 

ys2310 said: 

PanagiotisCharalampous said: 

ys2310 said: 

PanagiotisCharalampous said: 

ys2310 said: 

PanagiotisCharalampous said: 

Hi there,

This happens because you only assign values to indicator data series, when the index of each higher timeframe changes. Hence for the rest of the array elements the value stays NaN. The solution to this depends on what you want to achieve. For example, why do you 

@PanagiotisCharalampous

Thank you for your reply. I want to test my GMMA strategy with multi-timeframe.

My cBot staretegy is 1hour resolution and should be able to access to the above custom indicator(multi-timeframe GMMA)'s TimeFrame.Hour4 Last(n) values. 

Can you me an example on how to code this correctly?

Hi there,

I am sorry but I cannot write the code for you. If you have specific questions, I am happy to answer them. At the moment I do not see a reason to leave the data series values to NaN.

Best regards,

Panagiotis

Hello Panagiotis,

What do you mean by “At the moment I do not see a reason to leave the data series values to NaN.” ?

I made some mistakes in my code?

Can you share the cBot code as well so that I can tell you exactly where the problem is?

Hi Panagiotis,

Yes, I can share the cBot code to you.

here it is.

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 cAlgo.Indicators;namespace cAlgo.Robots{    [Robot(AccessRights = AccessRights.FullAccess, TimeZone = TimeZones.TokyoStandardTime)]    public class GMMASingle : Robot    {                     private GMMA _gmma;                      protected override void OnStart()        {            // To learn more about cTrader Automate visit our Help Center:            // https://help.ctrader.com/ctrader-automate                                    _gmma = Indicators.GetIndicator<GMMA>();                    }        protected override void OnBar()                {                                    Print(_gmma.LongEma1.Last(1)," ",_gmma.LongEma4.Last(1)); // <--- prints NaN NaN                        if (_gmma.LongEma1.IsRising() && _gmma.LongEma4.IsRising()) {                    ExecuteMarketOrder(TradeType.Buy, Symbol.Name, 100, "GMMA", null, null);            }            if (_gmma.LongEma1.IsFalling() && _gmma.LongEma4.IsFalling()) {                    ExecuteMarketOrder(TradeType.Sell, Symbol.Name, 100, "GMMA", null, null);            }        }        protected override void OnStop()        {            // Handle cBot stop here        }                    }}

 

Hi there,

Here is a visualization of your problem using the debugger

Your Indicator data series have NaN values because you do not assign anything to them when the time does not match the higher timeframe time. Hence the problems in your logic. 

I do not understand why you have created a separate indicator for this and have to manage all this complexity. You could just initialize the moving averages inside your cBot and use them.

Best regards,

Panagiotis

Hi Panagiotis,

Thank you for the screenshot. I see the problem now.

I changed my cBot code as following and it seems to print higher time frame values correctly. 

However, how can I display, for example, this _longEma2 onto my bachtest chart?

private MovingAverage _longEma1, _longEma2, _longEma3, _longEma4; protected override void OnStart(){      _longEma1 = Indicators.ExponentialMovingAverage(MarketData.GetSeries(TimeFrame.Hour2).Close, 200);      _longEma2 = Indicators.ExponentialMovingAverage(MarketData.GetSeries(TimeFrame.Hour4).Close, 200);      _longEma3 = Indicators.ExponentialMovingAverage(MarketData.GetSeries(TimeFrame.Hour8).Close, 200);      _longEma4 = Indicators.ExponentialMovingAverage(MarketData.GetSeries(TimeFrame.Hour12).Close, 200);}

It's not possible to add them on the chart from the cBot but you could use your GMMA indicator for this purpose

Hi Panagiotis,

So, in this my case scenario, we need to use my custom GMMA indicator during backtest.

The problem is how to solve the NaN values things. 

I'd like to get TimeFrame.Hour4 moviing average values in my 1 hour backtest resolution.

How can I do this correctly?

So, in this my case scenario, we need to use my custom GMMA indicator during backtest.

No you just need to use for visualization purposes. To solve the NaN issue requires some complicated code to be written. I cannot provide you guidance except than actually writing the code for, something I cannot afford to do at the moment.


@PanagiotisCharalampous

PanagiotisCharalampous
12 Apr 2024, 11:52

Hi there,

“Order Execution Error Nothing to change” means that the property you are trying to modify has the same value as the previous one.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
12 Apr 2024, 11:50

RE: RE: RE: RE: RE: RE: RE: RE: Custom indicator with TimeFrame.Hour4 not showing Last(1) value in cBot.

ys2310 said: 

PanagiotisCharalampous said: 

ys2310 said: 

PanagiotisCharalampous said: 

ys2310 said: 

PanagiotisCharalampous said: 

ys2310 said: 

PanagiotisCharalampous said: 

Hi there,

This happens because you only assign values to indicator data series, when the index of each higher timeframe changes. Hence for the rest of the array elements the value stays NaN. The solution to this depends on what you want to achieve. For example, why do you 

@PanagiotisCharalampous

Thank you for your reply. I want to test my GMMA strategy with multi-timeframe.

My cBot staretegy is 1hour resolution and should be able to access to the above custom indicator(multi-timeframe GMMA)'s TimeFrame.Hour4 Last(n) values. 

Can you me an example on how to code this correctly?

Hi there,

I am sorry but I cannot write the code for you. If you have specific questions, I am happy to answer them. At the moment I do not see a reason to leave the data series values to NaN.

Best regards,

Panagiotis

Hello Panagiotis,

What do you mean by “At the moment I do not see a reason to leave the data series values to NaN.” ?

I made some mistakes in my code?

Can you share the cBot code as well so that I can tell you exactly where the problem is?

Hi Panagiotis,

Yes, I can share the cBot code to you.

here it is.

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 cAlgo.Indicators;namespace cAlgo.Robots{    [Robot(AccessRights = AccessRights.FullAccess, TimeZone = TimeZones.TokyoStandardTime)]    public class GMMASingle : Robot    {                     private GMMA _gmma;                      protected override void OnStart()        {            // To learn more about cTrader Automate visit our Help Center:            // https://help.ctrader.com/ctrader-automate                                    _gmma = Indicators.GetIndicator<GMMA>();                    }        protected override void OnBar()                {                                    Print(_gmma.LongEma1.Last(1)," ",_gmma.LongEma4.Last(1)); // <--- prints NaN NaN                        if (_gmma.LongEma1.IsRising() && _gmma.LongEma4.IsRising()) {                    ExecuteMarketOrder(TradeType.Buy, Symbol.Name, 100, "GMMA", null, null);            }            if (_gmma.LongEma1.IsFalling() && _gmma.LongEma4.IsFalling()) {                    ExecuteMarketOrder(TradeType.Sell, Symbol.Name, 100, "GMMA", null, null);            }        }        protected override void OnStop()        {            // Handle cBot stop here        }                    }}

 

Hi there,

Here is a visualization of your problem using the debugger

Your Indicator data series have NaN values because you do not assign anything to them when the time does not match the higher timeframe time. Hence the problems in your logic. 

I do not understand why you have created a separate indicator for this and have to manage all this complexity. You could just initialize the moving averages inside your cBot and use them.

Best regards,

Panagiotis

Hi Panagiotis,

Thank you for the screenshot. I see the problem now.

I changed my cBot code as following and it seems to print higher time frame values correctly. 

However, how can I display, for example, this _longEma2 onto my bachtest chart?

private MovingAverage _longEma1, _longEma2, _longEma3, _longEma4; protected override void OnStart(){      _longEma1 = Indicators.ExponentialMovingAverage(MarketData.GetSeries(TimeFrame.Hour2).Close, 200);      _longEma2 = Indicators.ExponentialMovingAverage(MarketData.GetSeries(TimeFrame.Hour4).Close, 200);      _longEma3 = Indicators.ExponentialMovingAverage(MarketData.GetSeries(TimeFrame.Hour8).Close, 200);      _longEma4 = Indicators.ExponentialMovingAverage(MarketData.GetSeries(TimeFrame.Hour12).Close, 200);}

It's not possible to add them on the chart from the cBot but you could use your GMMA indicator for this purpose


@PanagiotisCharalampous

PanagiotisCharalampous
12 Apr 2024, 06:43

Hi there,

It will be added in a future release.

Best regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
12 Apr 2024, 06:12

RE: RE: RE: RE: RE: RE: Custom indicator with TimeFrame.Hour4 not showing Last(1) value in cBot.

ys2310 said: 

PanagiotisCharalampous said: 

ys2310 said: 

PanagiotisCharalampous said: 

ys2310 said: 

PanagiotisCharalampous said: 

Hi there,

This happens because you only assign values to indicator data series, when the index of each higher timeframe changes. Hence for the rest of the array elements the value stays NaN. The solution to this depends on what you want to achieve. For example, why do you 

@PanagiotisCharalampous

Thank you for your reply. I want to test my GMMA strategy with multi-timeframe.

My cBot staretegy is 1hour resolution and should be able to access to the above custom indicator(multi-timeframe GMMA)'s TimeFrame.Hour4 Last(n) values. 

Can you me an example on how to code this correctly?

Hi there,

I am sorry but I cannot write the code for you. If you have specific questions, I am happy to answer them. At the moment I do not see a reason to leave the data series values to NaN.

Best regards,

Panagiotis

Hello Panagiotis,

What do you mean by “At the moment I do not see a reason to leave the data series values to NaN.” ?

I made some mistakes in my code?

Can you share the cBot code as well so that I can tell you exactly where the problem is?

Hi Panagiotis,

Yes, I can share the cBot code to you.

here it is.

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 cAlgo.Indicators;namespace cAlgo.Robots{    [Robot(AccessRights = AccessRights.FullAccess, TimeZone = TimeZones.TokyoStandardTime)]    public class GMMASingle : Robot    {                     private GMMA _gmma;                      protected override void OnStart()        {            // To learn more about cTrader Automate visit our Help Center:            // https://help.ctrader.com/ctrader-automate                                    _gmma = Indicators.GetIndicator<GMMA>();                    }        protected override void OnBar()                {                                    Print(_gmma.LongEma1.Last(1)," ",_gmma.LongEma4.Last(1)); // <--- prints NaN NaN                        if (_gmma.LongEma1.IsRising() && _gmma.LongEma4.IsRising()) {                    ExecuteMarketOrder(TradeType.Buy, Symbol.Name, 100, "GMMA", null, null);            }            if (_gmma.LongEma1.IsFalling() && _gmma.LongEma4.IsFalling()) {                    ExecuteMarketOrder(TradeType.Sell, Symbol.Name, 100, "GMMA", null, null);            }        }        protected override void OnStop()        {            // Handle cBot stop here        }                    }}

 

Hi there,

Here is a visualization of your problem using the debugger

Your Indicator data series have NaN values because you do not assign anything to them when the time does not match the higher timeframe time. Hence the problems in your logic. 

I do not understand why you have created a separate indicator for this and have to manage all this complexity. You could just initialize the moving averages inside your cBot and use them.

Best regards,

Panagiotis


@PanagiotisCharalampous