Parameter failure

Created at 08 Dec 2018, 18:56
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
MO

Mountain

Joined 28.07.2018

Parameter failure
08 Dec 2018, 18:56


When I load the parameters new, there are some values that dont agree with the parameters shown in the source code. Backtests show different results. This problem comes with cTrader 3.3.

What can I do to solve this problem. With this error it is not possible to use cTrader any longer because the trades dont use the parameters from the source code but the wrong loaded one.!!!!!!!!


@Mountain
Replies

PanagiotisCharalampous
10 Dec 2018, 10:43

Hi Mountain,

Thank you for posting in our forum. Can you please share the code for a cBot that reproduces the error so that we can have a look?

Best Regards,

Panagiotis


@PanagiotisCharalampous

Mountain
10 Dec 2018, 14:41

Hi Panagiotis,

Thamk you for your answer. I send you some fotos and the source code, that you can see the problem. I hope you can solve it.

Results of the backup, when I have loaded the currency pair new:


@Mountain

PanagiotisCharalampous
10 Dec 2018, 14:47

Hi Mountain,

Thanks but I have not received anything. Where did you send them?

Best Regards,

Panagiotis


@PanagiotisCharalampous

Mountain
10 Dec 2018, 14:59

Hi,

I can't send you the fotos so I describe the problem again and send you the code.

Backtestresults after I have loaded the currency pair new:

Netto Gewinn 8.002,32 €

Gesamt Aufträge 421

Verlust Aufträge 42

 

If I make a second update the results are:

Netto Gewinn 5225 €

Gesamt Aufträge 437

Verlust Aufträge 85

A look at the parameters shows, that they have changed without I have done anything. When I load the currency pair new I have the correct parameters again.

// -------------------------------------------------------------------------------
//
//    
//
// -------------------------------------------------------------------------------
using System;
using cAlgo.API;
using cAlgo.API.Requests;
using cAlgo.API.Indicators;
using cAlgo.Indicators;
using cAlgo.API.Internals;

namespace cAlgo.Robots
{
    [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class NewAUDUSD : Robot
    {
        [Parameter("Label", DefaultValue = "NewAUDUSD")]
        public string Label { get; set; }

        [Parameter("Max-Spread", DefaultValue = 2, MinValue = 0.1, Step = 0.1)]
        public double MaxSpread { get; set; }

        [Parameter("Volume", DefaultValue = 10000.0, MinValue = 1000.0, Step = 1000.0)]
        public double Volume { get; set; }

        [Parameter("Use-Dynamic-Volume", DefaultValue = false)]
        public bool UseDynamicVolume { get; set; }

        [Parameter("Dynamic-Volume-Multiplier", DefaultValue = 2.0, MinValue = 0.5, MaxValue = 10.0, Step = 0.5)]
        public double DynamicVolumeMultiplier { get; set; }





        [Parameter("Period-Buy", DefaultValue = 58)]
        public int Period { get; set; }

        [Parameter("Period1-Sell", DefaultValue = 66)]
        public int Period1 { get; set; }

        [Parameter("Period2-Sell", DefaultValue = 39)]
        public int Period2 { get; set; }


        [Parameter("Period3-Sell", DefaultValue = 41)]
        public int Period3 { get; set; }

        [Parameter("Period4-Buy", DefaultValue = 69)]
        public int Period4 { get; set; }

        [Parameter("Period5-Buy", DefaultValue = 62)]
        public int Period5 { get; set; }

        [Parameter("Period6-Sell", DefaultValue = 64)]
        public int Period6 { get; set; }

        [Parameter("Period7-Sell", DefaultValue = 26)]
        public int Period7 { get; set; }

        [Parameter("Period10-Buy", DefaultValue = 64)]
        public int Period10 { get; set; }



        [Parameter("Period12-Buy", DefaultValue = 46)]
        public int Period12 { get; set; }

        [Parameter("Period13-Sell", DefaultValue = 38)]
        public int Period13 { get; set; }

        [Parameter("Period14-Buy", DefaultValue = 48)]
        public int Period14 { get; set; }

        [Parameter("Period15-Sell", DefaultValue = 45)]
        public int Period15 { get; set; }

        [Parameter("Period16-Buy", DefaultValue = 60)]
        public int Period16 { get; set; }

        [Parameter("Period17-Sell", DefaultValue = 87)]
        public int Period17 { get; set; }

        [Parameter("Period18-Sell", DefaultValue = 56)]
        public int Period18 { get; set; }

        [Parameter("Period19-Buy", DefaultValue = 90)]
        public int Period19 { get; set; }

        [Parameter("Period20-Buy", DefaultValue = 21)]
        public int Period20 { get; set; }

        [Parameter("Period21-Sell", DefaultValue = 39)]
        public int Period21 { get; set; }

        [Parameter("Period22-Sell", DefaultValue = 57)]
        public int Period22 { get; set; }

        [Parameter("Period23-Sell", DefaultValue = 39)]
        public int Period23 { get; set; }

        [Parameter("Period24-Sell", DefaultValue = 78)]
        public int Period24 { get; set; }

        [Parameter("Period25-Sell", DefaultValue = 47)]
        public int Period25 { get; set; }

        [Parameter("Period26-Buy", DefaultValue = 55)]
        public int Period26 { get; set; }




        [Parameter("StopLoss-Buy", DefaultValue = 45)]
        public int StopLoss { get; set; }

        [Parameter("StopLoss1-Sell", DefaultValue = 53)]
        public int StopLoss1 { get; set; }

        [Parameter("TakeProfit-Buy", DefaultValue = 81)]
        public int TakeProfit { get; set; }

        [Parameter("TakeProfit1-Sell", DefaultValue = 94)]
        public int TakeProfit1 { get; set; }



        [Parameter("MA_period1-Buy", DefaultValue = 61)]
        public int MA_period1 { get; set; }


        [Parameter("MA_period2-Buy", DefaultValue = 46)]
        public int MA_period2 { get; set; }


        [Parameter("MA_period3-Sell", DefaultValue = 63)]
        public int MA_period3 { get; set; }


        [Parameter("MA_period4-Sell", DefaultValue = 38)]
        public int MA_period4 { get; set; }


        [Parameter("MA_period5-Sell", DefaultValue = 49)]
        public int MA_period5 { get; set; }


        [Parameter("MA_period6-Sell", DefaultValue = 39)]
        public int MA_period6 { get; set; }


        [Parameter("MA_period7-Buy", DefaultValue = 26)]
        public int MA_period7 { get; set; }


        [Parameter("MA_period8-Buy", DefaultValue = 50)]
        public int MA_period8 { get; set; }


        [Parameter("MA_period9-Sell", DefaultValue = 51)]
        public int MA_period9 { get; set; }


        [Parameter("MA_period10-Buy", DefaultValue = 53)]
        public int MA_period10 { get; set; }


        [Parameter("MA_period11-Buy", DefaultValue = 51)]
        public int MA_period11 { get; set; }


        [Parameter("MA_period20-Sell", DefaultValue = 52)]
        public int MA_period20 { get; set; }


        [Parameter("MA_period21-Sell", DefaultValue = 28)]
        public int MA_period21 { get; set; }


        [Parameter("MA_period30-Buy", DefaultValue = 64)]
        public int MA_period30 { get; set; }



        [Parameter("MA_period31-Buy", DefaultValue = 54)]
        public int MA_period31 { get; set; }


        [Parameter("MA_period40-Sell,Buy", DefaultValue = 56)]
        public int MA_period40 { get; set; }


        [Parameter("MA_period41-Sell,Buy", DefaultValue = 42)]
        public int MA_period41 { get; set; }



        [Parameter("MA_period50-Sell", DefaultValue = 53)]
        public int MA_period50 { get; set; }


        [Parameter("MA_period51-Sell", DefaultValue = 44)]
        public int MA_period51 { get; set; }


        [Parameter("MA_period70-Buy", DefaultValue = 30)]
        public int MA_period70 { get; set; }



        [Parameter("Tral_Start-Buy", DefaultValue = 193)]
        public int Tral_Start { get; set; }

        [Parameter("Tral_Start1-Sell", DefaultValue = 191)]
        public int Tral_Start1 { get; set; }

        [Parameter("Tral_Stop-Buy", DefaultValue = 75)]
        public int Tral_Stop { get; set; }

        [Parameter("Tral_Stop1-Sell", DefaultValue = 71)]
        public int Tral_Stop1 { get; set; }

        [Parameter("MFI_period-Buy,Sell", DefaultValue = 19)]
        public int MFI_period { get; set; }

        [Parameter("MFI_period1-Buy", DefaultValue = 7)]
        public int MFI_period1 { get; set; }

        [Parameter("MFI_period2-Sell", DefaultValue = 16)]
        public int MFI_period2 { get; set; }


        [Parameter("MFI_period10-Buy", DefaultValue = 20)]
        public int MFI_period10 { get; set; }

        [Parameter("MFI_period11-Buy,Sell", DefaultValue = 12)]
        public int MFI_period11 { get; set; }

        [Parameter("MFI_period20-Buy", DefaultValue = 7)]
        public int MFI_period20 { get; set; }

        [Parameter("MFI_period30-Sell", DefaultValue = 28)]
        public int MFI_period30 { get; set; }





        [Parameter("MO_period-Sell", DefaultValue = 12)]
        public int MO_period { get; set; }

        [Parameter("MO_period1-Buy", DefaultValue = 19)]
        public int MO_period1 { get; set; }

        [Parameter("MO_period2-Sell", DefaultValue = 26)]
        public int MO_period2 { get; set; }

        [Parameter("MO_period3-Buy", DefaultValue = 28)]
        public int MO_period3 { get; set; }

        [Parameter("MO_period4-Sell", DefaultValue = 30)]
        public int MO_period4 { get; set; }

        [Parameter("MO_period10-Buy", DefaultValue = 19)]
        public int MO_period10 { get; set; }

        [Parameter("MO_period11-Sell", DefaultValue = 23)]
        public int MO_period11 { get; set; }

        [Parameter("MO_period21-Buy,Sell", DefaultValue = 7)]
        public int MO_period21 { get; set; }










        private GHLsmawws _GHLsmawwsIndicator;
        private GHLsmawws11 _GHLsmawws11Indicator;
        private GHLsmawws12 _GHLsmawws12Indicator;
        private GHLsmawws1 _GHLsmawws1Indicator;
        private GHLsmawws3 _GHLsmawws3Indicator;
        private GHLsmawws4 _GHLsmawws4Indicator;
        private GHLsmawws10 _GHLsmawws10Indicator;
        private GHLsmawws2 _GHLsmawws2Indicator;
        private GannHighLowwws _gannHighLowwwsIndicator;
        private GannHighLowwws3 _gannHighLowwws3Indicator;
        private GannHighLowsma _gannHighLowsmaIndicator;
        private GannHighLowtri _gannHighLowtriIndicator;
        private GannHighLowWeight _gannHighLowWeightIndicator;
        private GannHighLowTS _gannHighLowTSIndicator;
        private GannHighLowTS1 _gannHighLowTS1Indicator;
        private GannHighLowtri2 _gannHighLowtri2Indicator;
        private GannHighLowtri1 _gannHighLowtri1Indicator;
        private GannHighLowtri3 _gannHighLowtri3Indicator;
        private GHExp _GHExpIndicator;
        private GannHighLowsmatri _gannHighLowsmatriIndicator;
        private GannHighLowsmatri1 _gannHighLowsmatri1Indicator;





        private MovingAverage MA1;
        private MovingAverage MA2;
        private MovingAverage MA3;
        private MovingAverage MA4;
        private MovingAverage MA5;
        private MovingAverage MA6;
        private MovingAverage MA7;
        private MovingAverage MA8;
        private MovingAverage MA9;
        private MovingAverage MA10;
        private MovingAverage MA11;
        private MovingAverage MA20;
        private MovingAverage MA21;
        private MovingAverage MA30;
        private MovingAverage MA31;
        private MovingAverage MA40;
        private MovingAverage MA41;
        private MovingAverage MA50;
        private MovingAverage MA51;
        private MovingAverage MA70;


        private ChaikinMoneyFlow MFI;
        private MoneyFlowIndex MFI2;
        private MoneyFlowIndex MFI3;
        private ChaikinMoneyFlow MFI10;
        private MoneyFlowIndex MFI11;
        private MoneyFlowIndex MFI20;
        private ChaikinMoneyFlow MFI30;



        private VerticalHorizontalFilter MO;
        private VerticalHorizontalFilter MO1;
        private VerticalHorizontalFilter MO3;
        private MomentumOscillator MO4;
        private MomentumOscillator MO5;
        private MomentumOscillator MO10;
        private MomentumOscillator MO11;

        private MomentumOscillator MO21;



        private Position _position;

        private int e;









        protected override void OnStart()
        {



            _GHLsmawwsIndicator = Indicators.GetIndicator<GHLsmawws>(Period);

            _GHLsmawws1Indicator = Indicators.GetIndicator<GHLsmawws1>(Period16);
            _GHLsmawws10Indicator = Indicators.GetIndicator<GHLsmawws10>(Period17);

            _GHLsmawws2Indicator = Indicators.GetIndicator<GHLsmawws2>(Period1, Period2);

            _gannHighLowwwsIndicator = Indicators.GetIndicator<GannHighLowwws>(Period3);

            _gannHighLowsmaIndicator = Indicators.GetIndicator<GannHighLowsma>(Period4);

            _gannHighLowtriIndicator = Indicators.GetIndicator<GannHighLowtri>(Period5);

            _gannHighLowWeightIndicator = Indicators.GetIndicator<GannHighLowWeight>(Period6);
            _gannHighLowtri1Indicator = Indicators.GetIndicator<GannHighLowtri1>(Period7);

            _GHExpIndicator = Indicators.GetIndicator<GHExp>(Period10);
            _gannHighLowTSIndicator = Indicators.GetIndicator<GannHighLowTS>(Period12);
            _gannHighLowtri2Indicator = Indicators.GetIndicator<GannHighLowtri2>(Period13);

            _gannHighLowsmatriIndicator = Indicators.GetIndicator<GannHighLowsmatri>(Period14);
            _gannHighLowsmatri1Indicator = Indicators.GetIndicator<GannHighLowsmatri1>(Period15);

            _gannHighLowtri3Indicator = Indicators.GetIndicator<GannHighLowtri3>(Period18);

            _GHLsmawws11Indicator = Indicators.GetIndicator<GHLsmawws11>(Period19);
            _GHLsmawws12Indicator = Indicators.GetIndicator<GHLsmawws12>(Period20);

            _gannHighLowwws3Indicator = Indicators.GetIndicator<GannHighLowwws3>(Period21);

            _GHLsmawws3Indicator = Indicators.GetIndicator<GHLsmawws3>(Period22, Period23);
            _GHLsmawws4Indicator = Indicators.GetIndicator<GHLsmawws4>(Period24, Period25);

            _gannHighLowTS1Indicator = Indicators.GetIndicator<GannHighLowTS1>(Period26);





            MFI = Indicators.ChaikinMoneyFlow(MFI_period);
            MFI2 = Indicators.MoneyFlowIndex(MFI_period1);
            MFI3 = Indicators.MoneyFlowIndex(MFI_period2);
            MFI10 = Indicators.ChaikinMoneyFlow(MFI_period10);
            MFI11 = Indicators.MoneyFlowIndex(MFI_period11);
            MFI20 = Indicators.MoneyFlowIndex(MFI_period20);
            MFI30 = Indicators.ChaikinMoneyFlow(MFI_period30);




            MO = Indicators.VerticalHorizontalFilter(MarketSeries.Close, MO_period);
            MO1 = Indicators.VerticalHorizontalFilter(MarketSeries.Close, MO_period1);
            MO3 = Indicators.VerticalHorizontalFilter(MarketSeries.Close, MO_period2);
            MO4 = Indicators.MomentumOscillator(MarketSeries.Close, MO_period3);
            MO5 = Indicators.MomentumOscillator(MarketSeries.Close, MO_period4);
            MO10 = Indicators.MomentumOscillator(MarketSeries.Close, MO_period10);
            MO11 = Indicators.MomentumOscillator(MarketSeries.Close, MO_period11);

            MO21 = Indicators.MomentumOscillator(MarketSeries.Close, MO_period21);




            MA1 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period1);
            MA2 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period2);
            MA3 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period3);
            MA4 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period4);
            MA5 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period5);
            MA6 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period6);
            MA7 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period7);
            MA8 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period8);
            MA9 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period9);
            MA10 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period10);
            MA11 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period11);
            MA20 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period20);
            MA21 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period21);
            MA30 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period30);
            MA31 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period31);
            MA40 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period40);
            MA41 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period41);
            MA50 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period50);
            MA51 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period51);
            MA70 = Indicators.SimpleMovingAverage(MarketSeries.Close, MA_period70);


            Positions.Opened += OnPositionsOpened;
            Positions.Closed += OnPositionsClosed;

        }



        void OnPositionsClosed(PositionClosedEventArgs obj)
        {
            if (obj.Position.Label != Label)
                return;


            e = 0;



        }


        void OnPositionsOpened(PositionOpenedEventArgs obj)
        {
            if (obj.Position.Label != Label)
                return;

            _position = obj.Position;

            if (_position.TradeType == TradeType.Buy)
            {
                ModifyPosition(_position, _position.EntryPrice - StopLoss * Symbol.PipSize, _position.EntryPrice + TakeProfit * Symbol.PipSize);
            }

            if (_position.TradeType == TradeType.Sell)
            {
                ModifyPosition(_position, _position.EntryPrice + StopLoss1 * Symbol.PipSize, _position.EntryPrice - TakeProfit1 * Symbol.PipSize);
            }
        }



        protected override void OnBar()
        {


            if (UseDynamicVolume)
                Volume = Symbol.NormalizeVolumeInUnits(Account.Balance * DynamicVolumeMultiplier);

            double Bid = Symbol.Bid;
            double Ask = Symbol.Ask;
            double Point = Symbol.TickSize;


            double MO2 = MO.Result[MO.Result.Count - 2];

            double MO20 = MO4.Result[MO4.Result.Count - 2];
            double MFI1 = MFI.Result[MFI.Result.Count - 2];

            foreach (var position in Positions.FindAll(Label))
            {
                if (position.SymbolCode == Symbol.Code)
                {
                    if (position.TradeType == TradeType.Buy)
                    {
                        if (Bid - position.EntryPrice >= Tral_Start * Point)
                            if (Bid - Tral_Stop * Point >= position.StopLoss)
                                ModifyPosition(position, Bid - Tral_Stop * Point, position.TakeProfit);
                    }

                    if (position.TradeType == TradeType.Sell)
                    {
                        if (position.EntryPrice - Ask >= Tral_Start1 * Point)
                            if (Ask + Tral_Stop1 * Point <= position.StopLoss)
                                ModifyPosition(position, Ask + Tral_Stop1 * Point, position.TakeProfit);
                    }
                }
            }

            double spread = Symbol.Spread;
            if (spread > MaxSpread)
                return;


            if (Positions.FindAll(Label).Length != 0)
                return;



            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO1.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.25 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO1.Result.IsRising() && MFI11.Result.IsRising() && MO2 > 0.25 && MFI1 > 0.15 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA40.Result.IsRising() && MA2.Result.IsFalling() && MO1.Result.IsRising() && MFI11.Result.IsRising() && MO2 > 0.25 && MFI1 > 0.15 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA30.Result.IsRising() && MA31.Result.IsFalling() && MO1.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.25 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA30.Result.IsRising() && MA31.Result.IsFalling() && MO1.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.25 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            /////////////////////////////////////////////////

            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA30.Result.IsRising() && MA31.Result.IsFalling() && MO1.Result.IsRising() && MFI20.Result.IsRising() && MO2 > 0.25 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }



            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA10.Result.IsRising() && MA11.Result.IsFalling() && MO1.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.3 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA10.Result.IsRising() && MA11.Result.IsFalling() && MO1.Result.IsRising() && MFI20.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);
                e = 1;


            }


            if (_GHLsmawws12Indicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA10.Result.IsRising() && MA11.Result.IsFalling() && MO1.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.45 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            if (_GHLsmawws12Indicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA30.Result.IsRising() && MA31.Result.IsFalling() && MO1.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.55 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            //////////////////////////////////////////////////////////

            if (_GHLsmawws12Indicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA30.Result.IsRising() && MA31.Result.IsFalling() && MO1.Result.IsRising() && MFI11.Result.IsRising() && MO2 > 0.6 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawws11Indicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO4.Result.IsRising() && MFI2.Result.IsRising() && MO2 > 0.5 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA10.Result.IsRising() && MA11.Result.IsFalling() && MO4.Result.IsRising() && MFI2.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA10.Result.IsRising() && MA11.Result.IsFalling() && MO21.Result.IsRising() && MFI2.Result.IsRising() && MO2 > 0.3 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO4.Result.IsRising() && MFI.Result.IsRising() && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            ////////////////////////////////////////////////////////

            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO21.Result.IsRising() && MFI.Result.IsRising() && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO21.Result.IsRising() && MFI11.Result.IsRising() && MFI1 > -0.05 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawwsIndicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA40.Result.IsRising() && MA2.Result.IsFalling() && MO21.Result.IsRising() && MFI11.Result.IsRising() && MFI1 > -0.05 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawws11Indicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO4.Result.IsRising() && MFI11.Result.IsRising() && MO2 > 0.3 && MFI1 > 0.2 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawws11Indicator.Result.HasCrossedBelow(MarketSeries.Open, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO21.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.4 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            ///////////////////////////////////////////////////////////

            if (_gannHighLowsmaIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO4.Result.IsRising() && MFI2.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            if (_gannHighLowsmaIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO4.Result.IsRising() && MFI2.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            if (_gannHighLowtriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO4.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            if (_gannHighLowtriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA30.Result.IsRising() && MA31.Result.IsFalling() && MO4.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            if (_gannHighLowtriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA30.Result.IsRising() && MA31.Result.IsFalling() && MO21.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            /////////////////////////////////////////////////////////////

            if (_gannHighLowtriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA30.Result.IsRising() && MA31.Result.IsFalling() && MO21.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_gannHighLowtriIndicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MA7.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_gannHighLowtriIndicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA40.Result.IsRising() && MA2.Result.IsFalling() && MA7.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHExpIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MA8.Result.IsRising() && MFI2.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);
                e = 1;


            }


            if (_GHExpIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA10.Result.IsRising() && MA11.Result.IsFalling() && MA8.Result.IsRising() && MFI2.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);
                e = 1;


            }

            ////////////////////////////////////////////////////////////

            if (_gannHighLowTSIndicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO4.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            if (_gannHighLowTSIndicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA40.Result.IsRising() && MA41.Result.IsFalling() && MO4.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_gannHighLowTS1Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO4.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;

            }

            if (_gannHighLowTS1Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA40.Result.IsRising() && MA2.Result.IsFalling() && MO4.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.2 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;

            }

            ////////////////////////////////////////////////////////////////

            if (_gannHighLowTS1Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO4.Result.IsRising() && MFI.Result.IsRising() && MO20 > 99.9 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            if (_gannHighLowTS1Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA40.Result.IsRising() && MA41.Result.IsFalling() && MO4.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {
                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_gannHighLowTS1Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA40.Result.IsRising() && MA41.Result.IsFalling() && MO4.Result.IsRising() && MFI11.Result.IsRising() && MO2 > 0.45 && e == 0)
            {
                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            if (_gannHighLowTS1Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA40.Result.IsRising() && MA41.Result.IsFalling() && MO4.Result.IsRising() && MFI.Result.IsRising() && MO20 > 99.9 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_gannHighLowTS1Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MO4.Result.IsRising() && MFI.Result.IsRising() && MFI1 > 0.05 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }




            //////////////////////////////////////////////////////////////

            if (_gannHighLowsmatriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MA7.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_gannHighLowsmatriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MA7.Result.IsRising() && MFI11.Result.IsRising() && MO2 > 0.35 && MFI1 > 0.15 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }




            if (_gannHighLowsmatriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MA70.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_gannHighLowsmatriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MA7.Result.IsRising() && MFI.Result.IsRising() && MO20 > 99.9 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);
                e = 1;


            }

            if (_gannHighLowsmatriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MA7.Result.IsRising() && MFI11.Result.IsRising() && MO20 > 100.3 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);
                e = 1;


            }


            /////////////////////////////////////////////////////////

            if (_gannHighLowsmatriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MA70.Result.IsRising() && MFI.Result.IsRising() && MO20 > 99.9 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);
                e = 1;


            }


            if (_gannHighLowsmatriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA30.Result.IsRising() && MA31.Result.IsFalling() && MA7.Result.IsRising() && MFI.Result.IsRising() && MO2 > 0.5 && e == 0)
            {
                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            if (_gannHighLowsmatriIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MA7.Result.IsRising() && MFI.Result.IsRising() && MFI1 > 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }



            if (_GHLsmawws1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA1.Result.IsRising() && MA2.Result.IsFalling() && MA7.Result.IsRising() && MFI.Result.IsRising() && MFI1 > 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }



            if (_GHLsmawws1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA30.Result.IsRising() && MA31.Result.IsFalling() && MA7.Result.IsRising() && MFI.Result.IsRising() && MFI1 > -0.05 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            ///////////////////////////////////////////////////////////

            if (_GHLsmawws1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA10.Result.IsRising() && MA11.Result.IsFalling() && MA7.Result.IsRising() && MFI.Result.IsRising() && MFI1 > 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }

            if (_GHLsmawws1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA10.Result.IsRising() && MA11.Result.IsFalling() && MA7.Result.IsRising() && MFI11.Result.IsRising() && MFI1 > 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }


            if (_GHLsmawws1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA10.Result.IsRising() && MA11.Result.IsFalling() && MA7.Result.IsRising() && MFI.Result.IsRising() && MO20 > 99.5 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Buy, Symbol, Volume, Label);

                e = 1;


            }




            ///////////////////////////////  Sell  /////////////////////////////////////////   SELL

            if (_GHLsmawws2Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA3.Result.IsFalling() && MA4.Result.IsRising() && MO.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }



            if (_GHLsmawws2Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA40.Result.IsFalling() && MA41.Result.IsRising() && MO.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }




            if (_GHLsmawws3Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA3.Result.IsFalling() && MA4.Result.IsRising() && MO.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;

            }



            if (_GHLsmawws3Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA40.Result.IsFalling() && MA41.Result.IsRising() && MO.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }



            if (_GHLsmawws4Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA3.Result.IsFalling() && MA4.Result.IsRising() && MO.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }





            /////////////////////////////////////////////////

            if (_GHLsmawws2Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA20.Result.IsFalling() && MA21.Result.IsRising() && MO.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.35 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }

            if (_GHLsmawws4Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA20.Result.IsFalling() && MA21.Result.IsRising() && MO.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.35 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }




            if (_gannHighLowwwsIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsFalling() && MO3.Result.IsRising() && MFI30.Result.IsFalling() && MFI1 < 0.0 && e == 0)
            {
                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }



            if (_gannHighLowwwsIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA50.Result.IsFalling() && MA51.Result.IsFalling() && MO3.Result.IsRising() && MFI.Result.IsFalling() && MFI1 < 0.1 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }


            if (_gannHighLowwws3Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsFalling() && MO3.Result.IsRising() && MFI.Result.IsFalling() && MFI1 < 0.1 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }


            /////////////////////////////////////////////////////////

            if (_gannHighLowwwsIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsFalling() && MO3.Result.IsRising() && MFI.Result.IsFalling() && MO2 < 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }




            if (_gannHighLowwwsIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsRising() && MO5.Result.IsRising() && MFI.Result.IsFalling() && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }

            if (_gannHighLowwwsIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsRising() && MO21.Result.IsRising() && MFI.Result.IsFalling() && MO2 < 0.35 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }



            if (_gannHighLowwwsIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA20.Result.IsFalling() && MA21.Result.IsRising() && MO5.Result.IsRising() && MFI.Result.IsFalling() && MO2 < 0.45 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }



            if (_gannHighLowwwsIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA20.Result.IsFalling() && MA21.Result.IsRising() && MO5.Result.IsRising() && MFI30.Result.IsFalling() && MO2 < 0.45 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }


            //////////////////////////////////////////////////////

            if (_gannHighLowwwsIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA20.Result.IsFalling() && MA21.Result.IsRising() && MO21.Result.IsRising() && MFI30.Result.IsFalling() && MO2 < 0.4 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }




            if (_gannHighLowWeightIndicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA3.Result.IsFalling() && MA4.Result.IsRising() && MO.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.35 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }



            if (_gannHighLowtri1Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA3.Result.IsFalling() && MA4.Result.IsRising() && MO5.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.35 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;

            }




            if (_gannHighLowwwsIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsFalling() && MA9.Result.IsRising() && MFI.Result.IsFalling() && MFI1 < 0.15 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;

            }



            if (_gannHighLowwwsIndicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsFalling() && MA9.Result.IsRising() && MFI.Result.IsFalling() && MFI1 < 0.33 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }

            ////////////////////////////////////////////////

            if (_gannHighLowtri2Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA3.Result.IsFalling() && MA4.Result.IsRising() && MO5.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }

            if (_gannHighLowtri2Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA3.Result.IsFalling() && MA4.Result.IsRising() && MO21.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }



            if (_gannHighLowtri2Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA20.Result.IsFalling() && MA21.Result.IsRising() && MO5.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.05 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }

            if (_gannHighLowtri2Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA20.Result.IsFalling() && MA21.Result.IsRising() && MO21.Result.IsRising() && MFI3.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.1 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }



            if (_gannHighLowsmatri1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsRising() && MO5.Result.IsRising() && MFI.Result.IsFalling() && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }



            //////////////////////////////////////////////////////

            if (_gannHighLowsmatri1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsRising() && MO5.Result.IsRising() && MFI30.Result.IsFalling() && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;

            }

            if (_gannHighLowsmatri1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA40.Result.IsFalling() && MA41.Result.IsRising() && MO5.Result.IsRising() && MFI.Result.IsFalling() && MFI1 < -0.05 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;

            }

            if (_gannHighLowsmatri1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsRising() && MO21.Result.IsRising() && MFI30.Result.IsFalling() && MFI1 < 0.05 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;

            }

            if (_gannHighLowsmatri1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA40.Result.IsFalling() && MA41.Result.IsRising() && MO21.Result.IsRising() && MFI.Result.IsFalling() && MFI1 < -0.05 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }



            if (_gannHighLowsmatri1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA40.Result.IsFalling() && MA41.Result.IsRising() && MO5.Result.IsRising() && MFI30.Result.IsFalling() && MFI1 < 0.05 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;


            }

            ////////////////////////////////////////////////////////////

            if (_gannHighLowsmatri1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsRising() && MO5.Result.IsRising() && MFI3.Result.IsFalling() && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }



            if (_gannHighLowsmatri1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsRising() && MA9.Result.IsFalling() && MFI.Result.IsFalling() && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }

            if (_gannHighLowsmatri1Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsRising() && MA9.Result.IsFalling() && MFI30.Result.IsFalling() && MO20 < 100.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;

            }



            if (_GHLsmawws10Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA3.Result.IsFalling() && MA4.Result.IsRising() && MO.Result.IsRising() && MFI.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }





            if (_GHLsmawws10Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA40.Result.IsFalling() && MA41.Result.IsRising() && MO.Result.IsRising() && MFI.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }


            ///////////////////////////////////////////////////

            if (_GHLsmawws10Indicator.Result.HasCrossedBelow(MarketSeries.Close, 1) && MA40.Result.IsFalling() && MA41.Result.IsRising() && MO.Result.IsRising() && MFI30.Result.IsFalling() && MO2 < 0.4 && MFI1 < 0.0 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }


            if (_gannHighLowtri3Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsFalling() && MA9.Result.IsRising() && MFI.Result.IsFalling() && MFI1 < 0.15 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;

            }

            if (_gannHighLowtri3Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA5.Result.IsFalling() && MA6.Result.IsFalling() && MA9.Result.IsRising() && MFI30.Result.IsFalling() && MFI1 < 0.15 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;

            }



            if (_gannHighLowtri3Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA50.Result.IsFalling() && MA51.Result.IsFalling() && MA9.Result.IsRising() && MFI.Result.IsFalling() && MFI1 < -0.05 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;

            }

            if (_gannHighLowtri3Indicator.Result.HasCrossedAbove(MarketSeries.Close, 1) && MA20.Result.IsFalling() && MA21.Result.IsRising() && MA9.Result.IsRising() && MFI.Result.IsFalling() && MFI1 < 0.15 && e == 0)
            {

                ExecuteMarketOrder(TradeType.Sell, Symbol, Volume, Label);
                e = 1;



            }


        }




    }
}

 


@Mountain

PanagiotisCharalampous
10 Dec 2018, 17:02

Hi Mountain,

Unfortunately I cannot build this cBot since it references indicators that are missing. Please send the cBot and the images at community@spotware.com.

Best Regards,

Panagiotis


@PanagiotisCharalampous