Replies

alexanderearle16@googlemail.com
26 Apr 2018, 22:41

RE: RE:

alexanderearle16@googlemail.com said:

Panagiotis Charalampous said:

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

Thank you very much to go to that extent to help me, it was a great help. I have one more problem that I am now encountering, would it be possible to get your email adress to pass it on? 

 

Alexander

Sorry, I should've added this... 

[Parameter(DefaultValue = 0.0)]
        public double Parameter { get; set; }

        BollingerBands _bb;

        [Parameter("Quantity (Lots)", DefaultValue = 1, MinValue = 0.01, Step = 0.01)]
        public double Quantity { get; set; }

        [Parameter("Stop Loss (pips)", DefaultValue = 20, MinValue = 1)]
        public int StopLossInPips { get; set; }

        [Parameter("Take Profit (pips)", DefaultValue = 40, MinValue = 1)]
        public int TakeProfitInPips { get; set; }

        public double Ask { get; set; } 
        
        public double Bid { get; set; }


        #region on start up of bot

        protected override void OnStart()
        {
            _bb = Indicators.BollingerBands(MarketSeries.Close, 20, 2, MovingAverageType.Simple);
        }

        #endregion

        #region on every change in price

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

                    ExecuteMarketOrder(TradeType.Sell, Symbol, Quantity, label, StopLossInPips, TakeProfitInPips);

                }
                else
                    (Symbol.Ask < _bb.Bottom)
                {

                    ExecuteMarketOrder(TradeType.Buy, Symbol, Quantity, label, StopLossInPips, TakeProfitInPips);

                }

 


@alexanderearle16@googlemail.com

alexanderearle16@googlemail.com
26 Apr 2018, 21:30

RE:

Panagiotis Charalampous said:

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

Thank you very much to go to that extent to help me, it was a great help. I have one more problem that I am now encountering, would it be possible to get your email adress to pass it on? 

 

Alexander


@alexanderearle16@googlemail.com