PanagiotisCharalampous's avatar
PanagiotisCharalampous
26 follower(s) 0 following 1006 subscription(s)
Replies

PanagiotisCharalampous
31 Jul 2019, 09:09

Hi leighc1,

Thanks for posting in our forum. In cTrader Desktop you can detach a chart and maximize by clicking on the "Detach Chart" button on the chart tab. I am not sure what steps you follow in point 2. Can you be more specific? A short video would help understand what you are doing.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 16:57

Hi therealnakedtrader,

Then you can consider this

using System;
using System.Collections.Generic;
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
    {
        Dictionary<Position, double> _positions;

        protected override void OnStart()
        {
            _positions = new Dictionary<Position, double>();
            Positions.Opened += Positions_Opened;
            foreach (var position in Positions)
                _positions.Add(position, 0);
        }

        private void Positions_Opened(PositionOpenedEventArgs obj)
        {
            _positions.Add(obj.Position, 0);
        }

        protected override void OnTick()
        {
            foreach (var position in Positions)
            {
                _positions[position] = Math.Max(_positions[position], position.Pips);
            }            
        }

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

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 16:34

Hi therealnakedtrader,

Try the example below

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
    {

        double _maxPips;
        protected override void OnStart()
        {
            // Put your initialization logic here
        }

        protected override void OnTick()
        {
            if (Positions.Count > 0)
            {
                _maxPips = Math.Max(_maxPips, Positions.Max(x => x.Pips));
            }
            Print("Max Pips: " + _maxPips);
        }

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

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 15:18

Hi ancdriver239,

It will be shown as AUD.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 15:14

Hi Hugo,

Change the line below

_ema = Indicators.ExponentialMovingAverage(MarketSeries.Close, 14);

to

_ema = Indicators.ExponentialMovingAverage(MarketSeries.Close, 3);

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 11:40

Hi Symposium,

Did you check the logs? Are the orders executed?

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 10:44

Hi Symposium,

I just tried it and worked fine. 

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 10:16

Hi FireMyst,

As usual, please post this in the Suggestions section :)

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 10:13

Hi nguyenbaocuong,

It is not possible to use a two step authentication email account to send notifications using cTrader. You could create a separate email address for this purpose.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 10:02

Hi Symposium,

Can you please explain what do you mean it doesn;t work? What do you expect it to do, what does it do instead and how can we reproduce the behavior?

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 09:37

Hi Aiki1000,

Thanks for posting in our forum. If you need the last value of a DataSeries, use LastValue. If you need any value before the last value, use Last(x) with x counting backwards e.g. if you need the bar before the last value, use Last(1).

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 09:30 ( Updated at: 21 Dec 2023, 09:21 )

Hi nguyenbaocuong,

Go to Settings > Email and set up the necessary information. See below

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 09:18

Hi ancdriver239,

Thanks for posting in our forum. No there isn't. The concept behind cTrader Copy is that you invest in the strategy as a whole and not in individual positions.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
30 Jul 2019, 09:16

Hi Hugo,

See an example below

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

namespace cAlgo
{
    [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class NewIndicator : Indicator
    {
        [Parameter(DefaultValue = 1)]
        public int Offset { get; set; }

        [Output("Main")]
        public IndicatorDataSeries Result { get; set; }

        ExponentialMovingAverage _ema;
        protected override void Initialize()
        {
            _ema = Indicators.ExponentialMovingAverage(MarketSeries.Close, 14);
        }

        public override void Calculate(int index)
        {
            // Calculate value at specified index
            Result[index + Offset] = _ema.Result[index];
        }
    }
}

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
29 Jul 2019, 16:46

Hi useretinv,

See an example below

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; }

        protected override void OnStart()
        {
            // Put your initialization logic here
        }

        protected override void OnTick()
        {
            foreach (var position in Positions)
            {
                if (position.NetProfit > 0 && position.SymbolName == Symbol.Name)
                    position.Close();
            }
        }

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

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
29 Jul 2019, 11:45

Hi furko.zoltan1989,

Thanks for posting in our forum. Just push the stop button and the cBot will stop.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
29 Jul 2019, 11:19

Hi FireMyst,

It will override all locally saved settings not only bot instances. 

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
29 Jul 2019, 10:34

Hi Vitaly, 

This is caused because you use a number of periods for which backtesting doesn't have data loaded at the moment.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
29 Jul 2019, 09:39

Hi FireMyst,

Go to C:\Users\User\AppData\Roaming\Broker cTrader\Settings and copy the settings file. It should copy your cBot instances to the computer.

Best Regards,

Panagiotis


@PanagiotisCharalampous

PanagiotisCharalampous
29 Jul 2019, 09:36

Hi Ben,

Yes we did. The team will consider this suggestion for a future update.

Best Regards,

Panagiotis


@PanagiotisCharalampous