DA
    
        
                    
                            
                                                    
                    
                    Status 
                Open
Budget
100.00 USD
Payment Method
Direct Payment
Job Description
Hi,
Somehow when I run the cbot below it does not trade, although there are no error messages.
Can you make this cbot work?
If you need more information, please send an E-Mail at: david.sanchez@hotmail.ch
using System;
using System.Linq;
using System.Collections.Generic;
using cAlgo.API;
using cAlgo.API.Requests;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;
using cAlgo.Indicators;
namespace cAlgo
{
    [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class Arbitrage1 : Robot
    {
        private BollingerBands boll;
        protected override void OnStart()
        {
            var ticks = MarketData.GetTicks("AUDUSD");
            var series = CreateDataSeries();
            int i = 0;
            foreach (var tick in ticks)
            {
                series[i] = tick.Ask;
                i++;
            }
            var ticks2 = MarketData.GetTicks("EURUSD");
            var series2 = CreateDataSeries();
            int t = 0;
            foreach (var tick in ticks2)
            {
                series2[t] = tick.Bid;
                t++;
            }
            var Spread = CreateDataSeries();
            for (int X = 0; X < 10; X++)
            {
                Spread[X] = series[X] - series2[X];
            }
            boll = Indicators.BollingerBands(Spread, 10, 1, MovingAverageType.Simple);
        }
        protected override void OnTick()
        {
            var ticks = MarketData.GetTicks("AUDUSD");
            var series = CreateDataSeries();
            int i = 0;
            foreach (var tick in ticks)
            {
                series[i] = tick.Ask;
                i++;
            }
            var ticks2 = MarketData.GetTicks("EURUSD");
            var series2 = CreateDataSeries();
            int t = 0;
            foreach (var tick in ticks)
            {
                series2[t] = tick.Bid;
                t++;
            }
            var Spread = CreateDataSeries();
            for (int X = 0; X < 10; X++)
            {
                Spread[X] = series[X] - series2[X];
            }
            boll = Indicators.BollingerBands(Spread, 10, 1, MovingAverageType.Simple);
            if (boll.Top[0] <= Spread[0])
            {
                var openPositions1 = Positions.FindAll("Arbitrage1", "AUDUSD");
                foreach (var order in openPositions1)
                {
                    ClosePosition(order);
                }
                var openPositions2 = Positions.FindAll("Arbitrage1", "EURUSD");
                foreach (var order in openPositions2)
                {
                    ClosePosition(order);
                }
                ExecuteMarketOrder(TradeType.Sell, "AUDUSD", 100000, "Arbitrage1");
                ExecuteMarketOrder(TradeType.Buy, "EURUSD", 100000, "Arbitrage1");
            }
            else if (boll.Bottom[0] >= Spread[0])
            {
                var openPositions1 = Positions.FindAll("Arbitrage1", "AUDUSD");
                foreach (var order in openPositions1)
                {
                    ClosePosition(order);
                }
                var openPositions2 = Positions.FindAll("Arbitrage1", "EURUSD");
                foreach (var order in openPositions2)
                {
                    ClosePosition(order);
                }
                ExecuteMarketOrder(TradeType.Buy, "AUDUSD", 100000);
                ExecuteMarketOrder(TradeType.Sell, "EURUSD", 100000);
            }
        }
    }
}
Comments
                Log in to add a comment.            
            
             
Hi. I can do that. Write me and tell me what do you need exactly.
Email: Bienve.pf@hotmail.com
Whatsapp: +34654115547
Regards