Topics
16 Nov 2023, 07:42
 1114
 1
15 Nov 2023, 10:36
 1994
 16
Replies

Spotware
12 Jan 2015, 15:40

As an option you can use the Timer object.


@Spotware

Spotware
12 Jan 2015, 15:35

Dear Trader,

You can write your custom indicator that shows ADR value in chart corner. If you cannot code, you can contact one of our Partners or post a job in Development Jobs section.


@Spotware

Spotware
12 Jan 2015, 15:30

var averageSpreadFromPreviousWeek = Math.Round(Symbol.Spread[ average from previous week ] / Symbol.PipSize, 2);

Historical tick data is not available in cAlgo.API. However there is a workaround to retrieve it. You can backtest your cBot in tick data mode and perform all required calculations based on historical Bid and Ask prices.


@Spotware

Spotware
12 Jan 2015, 11:16

Please open cAlgo and press Shift+Ctrl+Alt+T. It will send us the troubleshooting information.


@Spotware

Spotware
09 Jan 2015, 16:17

No updates. We can recommend you to vote for your favorite features on vote.spotware.com.


@Spotware

Spotware
09 Jan 2015, 16:15

Please contact your broker regarding price stream questions.

As we already told you we do not perform important calculations in "doubles". All values are converted to double at the end just to expose from API. There is nothing more to discuss here.


@Spotware

Spotware
09 Jan 2015, 16:08

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


@Spotware

Spotware
09 Jan 2015, 16:05

Can we set default value for Data Series in the input variables

Unfortunately, it is not possible. As a workaround you can create a string parameter. In OnStart method you can check if value is "Open" then take MarketSeries.Open, if value is "Close" - MarketSeries.Close, etc. You can also specify default value for string parameter.


@Spotware

Spotware
09 Jan 2015, 15:41

Dear Trader,

When you observe this problem next time please press Shift+Ctrl+Alt+T. It will send us the troubleshooting information. We apologize for any inconvenience.


@Spotware

Spotware
09 Jan 2015, 15:35

Another words, if I use MarketSeries.Close[index] series in Calcaulate(index), then I should use rsi.Result.Last(1) but not rsi.Result.LastValue, which is not known yet. Is it true?

Yes, you are right. OnBar method is invoked when new bar is opened. At that moment MarketSeries collection contains tick from new bar. It means that last bar is not formed and in general cases open = high = low = close. If you want to access to indicator value based on last formed bar you need take the previous one. You should use rsi.Result.Last(1) instead of rsi.Result.LastValue.


@Spotware

Spotware
08 Jan 2015, 11:07

Thank you for your suggestion. We have this feature in our road map.


@Spotware

Spotware
08 Jan 2015, 11:06

Dear Trader,

Unfortunately, it is not possible.


@Spotware

Spotware
08 Jan 2015, 11:01

Firstly, for monetary calculations, best coding practice states that it is ALWAYS advised that one use the DECIMAL type verses the DOUBLE type for monetary calculations due to round off errors.

Problem is, cTrader and cAlgo bots and indicators both use double representation for their calculations. This will invariably lead to round off errors! There is no reason to believe therefore, that the internal engine of cTrader or cBot are not using double types for their monetary calculations. This is a MAJOR issue in my book. Maybe a developer with coding experience can shed some light on this.

Please specify an example which illustrates the exact problem with using doubles in cAlgo.API.

Secondly, I am very worried about latancy and throughput with their DOM view. Yes, they might be using reputable liquidity providers but if you have poor latency, then it might be that some of the price changes never make it to the screen.

 

For instance, on the cTrader DOM you might see a price change between say 1.66543 and 1.66541 at a difference in volume of 250k in 300ms time intervals. However, what you might not see is the hidden 10 ticks that may have occurred in a time interval of 30ms at 11M volume or greater each! This hidden knowledge of such large volume might carry with it some very important information regarding orderflow that never makes it to the cTrader view!

Maybe someone at cTDN could shed some  light into these concerns.

DOM is taken from Broker's LPs. cServer doesn't have any throttling and sends every change of market depth to the client.

Regarding latency, please consider using VPS.


@Spotware

Spotware
08 Jan 2015, 10:46

can you elaborate why?. because logically a conrete trade is comprised of open and close which makes two ways.

Commissions are taken per trade. When you open position you trade, when you close position you do another trade.


@Spotware

Spotware
08 Jan 2015, 10:34

It is not possible to run cAlgo as a Windows Service. It is also not possible to run cAlgo as a Console Application. If you want to develop your trading system outside of cAlgo you can write a cBot that streams prices from cAlgo. You can also use Spotware Open API. If you have any question regarding Open API please contact connect@spotware.com.


@Spotware

Spotware
08 Jan 2015, 10:07

Multi-symbol backtesting isn't supported yet. Please vote for this feature:

http://vote.spotware.com/forums/229166-ideas-and-suggestions-for-ctrader-and-calgo/suggestions/5435043-multi-currency-backtesting


@Spotware

Spotware
31 Dec 2014, 11:41

You can use MarketSeries collection and For loop.


@Spotware

Spotware
31 Dec 2014, 11:34

long parameters are not supported yet, please replace it to int


@Spotware

Spotware
31 Dec 2014, 11:25

Admin

On the Back-testing basic Settings, on commission per million- do we enter value for round trade (total enter and close commissions) or one way?

my broker 1 mln commission is 60 USD round trip - should I enter this?

In backtesting settings commissions are for one way.


@Spotware

Spotware
31 Dec 2014, 11:22

We will consider adding such functionality


@Spotware