Topics
Replies
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
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, 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 brokerboolean 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: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
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
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