Replies

PanagiotisCharalampous
02 May 2018, 10:12

Dear tinker.this,

I appreciate the time you spent to write this feedback for us and I am sorry that cTrader does not meet your expectations at the moment. However, I disagree with the statement that we do not listen to you and that we deliver features without use to the traders. We have recently released cTrader 3.0 that was a big milestone for cTrader, incorporating many of users requests. Currently, we are working on version 3.01. One of the major additions that will come with cTrader 3.01 is the addition of a new Charts API that will allow you to work with all the objects available  on the Charts. It will be possible to read and change object properties covering the features you have mentioned in this post.

Regarding cAlgo lacks many other simple featuresI would be happy if you could list them so that we can consider them as well.

I am convinced that cTrader will become your platform of choice again in the near future.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Apr 2018, 17:49

Hi Futuresmo,

There could be many reasons for this but usually it is because brokers compete mainly on pricing, spreads, liquidity etc. therefore they would like to avoid disclosing the source of acompetitive advantage to others.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Apr 2018, 17:34

Hi Futuresmo,

cTrader integrates only with reputable liquidity providers. You can see some of them here https://spotware.com/integrations/

However we cannot comment on each broker's decision on where they will choose to execute their orders. It is better to discuss this issue with each broker separately. 

If you would like my personal opinion, it doesn't really matter who will be the counterparty of your order, as long as the execution is fair, transparent and broker meets his obligations towards you.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Apr 2018, 17:06

Hi Futuresmo,

The answer is no. This information is not available in cTrader.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Apr 2018, 15:39

Hi Anton,

cAlgo 2.01 does not support VS 2015. Here's the workaround.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Apr 2018, 14:16

Hi Anton,

Which version of cTrader/cAlgo are you using?

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Apr 2018, 12:04

Hi Alexander,

See below an example of how to initialize a Bollinger Bands indicator in cAlgo and check the difference between the Top and Bottom bands 

using System;
using System.Linq;
using cAlgo.API;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
using cAlgo.Indicators;

namespace cAlgo.Robots
{
    [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class NewcBot : Robot
    {
        [Parameter(DefaultValue = 0.0)]
        public double Parameter { get; set; }
        BollingerBands _bb;
        protected override void OnStart()
        {
            _bb = Indicators.BollingerBands(MarketSeries.Close, 20, 2, MovingAverageType.Simple);
        }

        protected override void OnTick()
        {
            if ((_bb.Top.LastValue - _bb.Bottom.LastValue) > Symbol.PipSize * 10)
            {
                // Trade...
            }
        }

        protected override void OnStop()
        {
            // Put your deinitialization logic here
        }
    }
}

Let me know if this helps,

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Apr 2018, 11:01

Hi mrwillianto.li,

It is not possible to change the fee after you start providing strategy. If you want to change the fee, you need to stop providing the strategy and re-create it with the new fee.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Apr 2018, 09:28

Hi iulianalinchiru,

You can use the overload of the DrawText method that allows you to specify the absolute x and y values where the text would be drawn. Then, you will have to write some logic that will keep track where each row has been drawn and draw the next one accordingly.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
26 Apr 2018, 09:12

Hi ttdezo,

Thanks for posting in our forum. Could you please tell me the broker you are using and symbol you are referring to?

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
25 Apr 2018, 17:31

Hi carlosdrcunha,

In order to see ADX in the source list, you first need to add the indicator (Directional Movement System) to the chart.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
25 Apr 2018, 09:54

Hi carlosdrcunha,

My example above shows how to get the SMA for an ADX.

Regarding the margin your can use the  Account.FreeMargin property to calculate the amount you want to invest.

I hope this helps.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
25 Apr 2018, 09:20

Hi kienvu8888,

Thanks for posting in our forum. Which version of cTrader are you using? This issue has been resolved in cTrader 3.0.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
24 Apr 2018, 15:34 ( Updated at: 21 Dec 2023, 09:20 )

Hi ceakuk,

1.18214 is the Close value for the 13/08/2017 22:00 as specified in the log. See graph below

It represents the first value evaluated by that indicator, at index 0, which at that moment is the last value of the series as well.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
24 Apr 2018, 15:19

Hi ceakuk,

The values in the log are correct. This is how it is supposed to work. If Calculate() is not executing on the Last Bar, it will consider as last values, the values of the candlestick with the index evaluated. That is why you see the values incrementing by one hour each time.

I hope this clarifies things for you.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
24 Apr 2018, 15:06

Hi thegreat.super,

Unfortunately I cannot advise you on that. Your cBot contains 4200 lines of code and I don't know what it is supposed to do. It seems that you got the source code from a converter (EA to cAlgo) however I don't know how trustworthy the conversion is. If you don't know how to handle the code maybe you could ask the assistant of a professional. I would also advise you to consider rewriting the cBot from scratch instead of relying on the conversion.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
24 Apr 2018, 14:48

Hi thegreat.super,

It seems that MA_PERIOD and ATR_PERIOD are always 0 when the cBot is starting and that is what is causing NaN values.

 protected override void OnStart()
        {
 
 
            CommonInitialize();
            keltnerChannels = Indicators.KeltnerChannels(MA_PERIOD, MovingAverageType.Simple, ATR_PERIOD, MovingAverageType.Simple, 2.0);
            double icustom_92 = keltnerChannels.Top.LastValue;
            double icustom_100 = keltnerChannels.Bottom.LastValue;
.
.
.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
24 Apr 2018, 14:08 ( Updated at: 21 Dec 2023, 09:20 )

Hi ceacuk,

Are you sure you have posted the correct indicator? Because I see different messages in log and they seem correct after checking. See below

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
24 Apr 2018, 09:14

Hi ceakuk,

The fact that there is no link does not mean that this is not possible. Practically, you could read the data on the Initialize() function, store them in memory and then assign them to the appropriate Result index in the Calculate() function. However this requires some coding to be achieved. You could always use some professional help if you don't know how to do it and if you would like this to be implemented.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
24 Apr 2018, 09:03

Hi w.b.z,

Thanks for reporting this issue. Which version of cAlgo/cTrader are you using? 2.01 or 3.0?

Best Regards,

Panagiotis


@PanagiotisCharalampous