Topics
16 Nov 2023, 07:42
 1115
 1
15 Nov 2023, 10:36
 1999
 16
Replies

Spotware
17 Mar 2015, 17:51

Dear Trader, 

Thank you for your suggestion. We will consider it. We can also recommend you to post it to vote.spotware.com.


@Spotware

Spotware
17 Mar 2015, 17:48

 The chart scale could help you to understand what is the absolute height of candle in pips. You can also use the Crosshair tool (middle mouse click) for precise measurement.


@Spotware

Spotware
17 Mar 2015, 17:36

As it says here cBroker provides plenty of administrative tools. However there is no price injection, dealing desk, stop loss hunting and other dirty functionalities which are standard for other platforms.

Brokers can specify markups as well as configure commissions. Fortunately, there are many brokers that provide cTrader, so you can choose one that suits your trading system.


@Spotware

Spotware
17 Mar 2015, 12:48

Dear traders,

We know about performance issues related to tick charts. We plan to optimize loading in future releases.


@Spotware

Spotware
16 Mar 2015, 17:09

Dear Trader,

In desktop version of cTrader you can use the following shortcuts:

  • Middle mouse or Ctrl+C - Crosshair
  • Ctrl+D - Market snapshot tool

We will consider adding shortcuts for other chart tools.


@Spotware

Spotware
16 Mar 2015, 16:53

cAlgo.API doesn't expose the stop out level. We plan to add it in the future.


@Spotware

Spotware
16 Mar 2015, 16:51

We can recommend you to contact one of our Partners or post a job in Development Jobs section.


@Spotware

Spotware
16 Mar 2015, 16:50

No, cAlgo.API doesn't provide such functionality.


@Spotware

Spotware
16 Mar 2015, 16:50

You can try White color theme of cTrader.


@Spotware

Spotware
16 Mar 2015, 16:48

PS ie how to use such as ClosePosition with slippage?

cAlgo.API doesn't provide the ability to close position with slippage.


@Spotware

Spotware
16 Mar 2015, 08:55

Dear Trader,

Almost all our trading servers located in London.

cTrader connects to a "New York" server when I login to my live account

cTrader shows proxy location, not trading server.

Can you confirm where the order server is located and provide an IP address to ping? 

IP addresses of trading servers cannot be disclosed because of security reasons. We can recommend you to find VPS in London. You can check server latency inside application.


@Spotware

Spotware
16 Mar 2015, 08:46

I was considering posting in the Suggestions forum /forum/suggestions All you need to add are the following methods to the cAlgo API:
BrokerInstance signIn(Username, Password, Server, Port);  // Potentially can login to multiple [live and demo] brokers simultaneously but can start with just 1 broker

boolean signOut(BrokerInstance);

We are not going to provide such functionality in cAlgo.API.

boolean subscribe(Symbol); // No more "Attach to Chart" code smell
onTick(Tick, Symbol, BrokerInstance); // Can keep tick and symbol separate or just onTick(Tick) and provide Symbol inside Tick object
boolean unsubscribe(Symbol); // Might as well allow unsubscribe

MarketData.GetSeries automatically subscribes you to quotes for corresponding symbols. There is no need to subscribe and unsubscribe manually.

 


@Spotware

Spotware
12 Mar 2015, 17:59

Please stop spamming this forum.


@Spotware

Spotware
12 Mar 2015, 17:58

Currently timeout for market range order is 5 sec. You cannot configure it.

We can recommend you to use Limit Order with expiration time.


@Spotware

Spotware
12 Mar 2015, 17:47

I am printing Symbol.Ask, Symbol.Bid and MarketSeries.Close.LastValue on every tick and noticed that MarketSeries.Close.LastValue and Symbol.Bid values are always same and also MarketSeries.TickVolume.LastValue is coming as some incremental values.

This should not be the case as this would mean that we always have bid side trades.

MarketSeries.Close is built based on bid prices only.

And also MarketSeries.TickVolume.LastValue doesn't seem to have the correct values.

MarketSeries.TickVolume shows number of bid changes for historical trendbars.

Does it help?


@Spotware

Spotware
12 Mar 2015, 10:17

Thank you for this suggestion. We can recommend you to add it to vote.spotware.com.


@Spotware

Spotware
11 Mar 2015, 17:57

.Dear Trader, 

Can cAlgo operate standalone to trade or does it require integration with cTrader?

cTrader is not required to run cAlgo. 

Does cAlgo work in Wine?

No, cAlgo cannot be run under Wine.

What is cBot? 

It is a .NET library packed to encrypted .algo file. cBot can be run in cTrader or cAlgo.

If you cannot use cAlgo/cTrader we can recommend you to check Spotware Connect: Open API. If you have any question regarding Open API, please contact connect@spotware.com.


@Spotware

Spotware
11 Mar 2015, 17:47

Dear Trader,

cTrader platform does not allow any price manipulation. You can see different prices because brokers have different liquidity providers. In order to get information about LPs, you need to contact brokers directly.


@Spotware

Spotware
09 Mar 2015, 10:53

Thank you for your suggestion, we will consider it. Additionally, you can post this idea to vote.spotware.com.


@Spotware

Spotware
09 Mar 2015, 10:48

Sample Martingale cBot with Quantity as a parameter:

// -------------------------------------------------------------------------------------------------
//
//    This code is a cAlgo API sample.
//
//    This cBot is intended to be used as a sample and does not guarantee any particular outcome or
//    profit of any kind. Use it at your own risk
//
//    The "Sample Martingale cBot" creates a random Sell or Buy order. If the Stop loss is hit, a new 
//    order of the same type (Buy / Sell) is created with double the Initial Volume amount. The cBot will 
//    continue to double the volume amount for  all orders created until one of them hits the take Profit. 
//    After a Take Profit is hit, a new random Buy or Sell order is created with the Initial Volume amount.
//
// -------------------------------------------------------------------------------------------------

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

namespace cAlgo
{
    [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
    public class SampleMartingalecBot : Robot
    {
        [Parameter("Initial Quantity (Lots)", DefaultValue = 1, MinValue = 0.01, Step = 0.01)]
        public double InitialQuantity { get; set; }

        [Parameter("Stop Loss", DefaultValue = 40)]
        public int StopLoss { get; set; }

        [Parameter("Take Profit", DefaultValue = 40)]
        public int TakeProfit { get; set; }

        private Random random = new Random();

        protected override void OnStart()
        {
            Positions.Closed += OnPositionsClosed;

            ExecuteOrder(InitialQuantity, GetRandomTradeType());
        }

        private void ExecuteOrder(double quantity, TradeType tradeType)
        {
            var volumeInUnits = Symbol.QuantityToVolume(quantity);
            var result = ExecuteMarketOrder(tradeType, Symbol, volumeInUnits, "Martingale", StopLoss, TakeProfit);

            if (result.Error == ErrorCode.NoMoney)
                Stop();
        }

        private void OnPositionsClosed(PositionClosedEventArgs args)
        {
            Print("Closed");
            var position = args.Position;

            if (position.Label != "Martingale" || position.SymbolCode != Symbol.Code)
                return;

            if (position.GrossProfit > 0)
            {
                ExecuteOrder(InitialQuantity, GetRandomTradeType());
            }
            else
            {
                ExecuteOrder(position.Quantity * 2, position.TradeType);
            }
        }

        private TradeType GetRandomTradeType()
        {
            return random.Next(2) == 0 ? TradeType.Buy : TradeType.Sell;
        }
    }
}

 


@Spotware