Topics
06 Jul 2015, 21:16
 2541
 3
06 May 2015, 10:25
 1916
 2
01 May 2015, 18:40
 2382
 2
28 Apr 2015, 21:52
 2546
 4
25 Mar 2015, 08:16
 5
 1042
 3
13 Oct 2014, 11:56
 261
 4740
 14
15 Feb 2014, 19:02
 0
 2900
 3
Replies

WhiteSage
30 Nov 2016, 06:21

This can be implemented by the user, however it would be good to have a nice stock one from spotware using FIX. A code example the can be extended or used as is would be ideal.


@WhiteSage

WhiteSage
30 Nov 2016, 06:17

This could be implemented in an indicator or cbot


@WhiteSage

WhiteSage
30 Nov 2016, 06:16

This sound more like a problem with either the broker or the hardware. Please don't all cap, its not constructive or helpful!


@WhiteSage

WhiteSage
25 May 2016, 07:41

Tip the first:
DO NOT USE AUTO CONVERTED MQL SCRIPTS AND EXPECT THEM TO RUN WELL

That said, I have noticed performance issues with larger programs during backtest / optimisation (UI slowdown, grey outs). However I haven't noticed slowdown during volatility, this might be due to new variables being assigned each tick and the garbage collector not cleaning up correctly? Network traffic issues?

I have noticed most auto converted MQL scripts will bring my computer to its knees. Considerably more when complex math is involved.

The only other slowness I've noticed is when calling multiple symbols in a chart. It takes a long time to grab all the data, and it doesn't seem to cache (re-downloads every time).


@WhiteSage

WhiteSage
25 May 2016, 07:29

I wish I had votes left! This is exactly what you might expect from a platform that does not need to rely on interpreted scripting.


@WhiteSage

WhiteSage
25 May 2016, 07:27

This is more related to your broker, not the platform.


@WhiteSage

WhiteSage
25 May 2016, 07:26

What is your desktop resolution?
A DPI setting could help resolve small menus and objects for extreme resolutions.
'UI font size is tooooooo small' isn't entirely helpful. Explanations help!


@WhiteSage

WhiteSage
25 May 2016, 07:22

Can cBots receive keyboard commands? If not this would be an excellent solution, it would allow users to implement their own setups!


@WhiteSage

WhiteSage
25 May 2016, 06:49

Its unimaginable that this is not yet implemented, imagine being able to multi-symbol back test with c# libraries without using a wrapper and MQL!!!
I smell something funny, with these requests..
And I'm gonna put it out there.

Case le first: Legally spotware's hands are tied by vampires *cough* I mean lawyers who serve money over creativity, justice and fairness. By this I mean someone has told spotware they cannot implement features they already market. Much like the faxing an email scams hitting businesses in the USA.

Case le second: cTrader was suppose to be a dumpy scammer platform with a rotten backend (cept from what I've read the transactions have excellent transparency). Or a get rich quick, code and sell the business venture. Only someone happened to do something amazing, intentional or otherwise (the power of c# and visual studio linking) and regular users saw how genius it was and jumped on board. Only to be disappointed by a lack of direction and progress on what is essentially a genius foundation.

Its almost like spotware don't know what they have, or they do and someone is tying their hands.

Thoughts?


@WhiteSage

WhiteSage
25 May 2016, 06:35

501st!

It would be good to see an overhaul / update to the backtester including commands to hide show and redraw charts where needed.
http://vote.spotware.com/forums/229166-ideas-and-suggestions-for-ctrader-and-calgo/suggestions/7318892-redraw-chart-for-heavy-process


@WhiteSage

WhiteSage
26 Nov 2015, 02:57

Check the cAlgo robots for this. one exsists already.


@WhiteSage

WhiteSage
12 Nov 2015, 10:21

RE: RE:

*The first two entries in the logs are executed in Initialize and the rest in Calculate.

 

I had been using the recommended method from the example and hadn't actually tried the non exact inbuilt method ( series2.OpenTime[0]).

It only has one NaN at the 0 index, but it still displays the time difference.

12/11/2015 17:44:57.774 |  - Initialize - 
12/11/2015 17:44:57.805 | EURUSD (Ask: 1.07454, Bid: 1.07449) 04/10/2015 21:00:00
12/11/2015 17:44:57.805 | USDCHF (Ask: 1.00528, Bid: 1.00516) 04/10/2015 21:05:00
12/11/2015 17:44:57.821 | NaN @: 0
12/11/2015 17:44:57.821 | EURUSD (Ask: 1.07454, Bid: 1.07449) 04/10/2015 21:00:00
12/11/2015 17:44:57.821 | USDCHF (Ask: 1.00528, Bid: 1.00516) 04/10/2015 21:05:00

 


@WhiteSage

WhiteSage
12 Nov 2015, 05:10

RE:

Spotware said:

Dear Trader,

Regarding the NaN values in the log could you please check the initial opening times of the symbols you use. The following code snippet prints the initial opening time of the default Symbol:

Print(MarketSeries.OpenTime[0].ToString());

Regarding the NaN values during the week, we weren't able to reproduce your issue. 

Could you please refresh your charts and run your indicator again? You can refresh your charts by right clicking on the chart and select the refresh field. 

Added open times on initialise and when NaN's are detected. After making the code change and rebuilding the first 200~ samples of the second symbol on 5m (USDCHF) were blank, refreshing restored them.
5m log (after refresh, note the dud datetime on the second symbol for the current bar, this did not occur on the 1h):

12/11/2015 12:19:23.946 |  - Initialize - 
12/11/2015 12:19:23.961 | EURUSD (Ask: 1.07615, Bid: 1.07611) 04/10/2015 21:00:00
12/11/2015 12:19:23.977 | USDCHF (Ask: 1.00362, Bid: 1.00350) 04/10/2015 21:05:00
12/11/2015 12:19:23.992 | NaN @: 0
12/11/2015 12:19:23.992 | EURUSD (Ask: 1.07615, Bid: 1.07611) 04/10/2015 21:00:00
12/11/2015 12:19:23.992 | USDCHF (Ask: 1.00362, Bid: 1.00350) 04/10/2015 21:05:00
12/11/2015 12:19:23.992 | NaN @: 1152
12/11/2015 12:19:23.992 | EURUSD (Ask: 1.07615, Bid: 1.07611) 08/10/2015 21:00:00
12/11/2015 12:19:23.992 | USDCHF (Ask: 1.00362, Bid: 1.00350) 08/10/2015 21:10:00
12/11/2015 12:19:23.992 | NaN @: 2880
12/11/2015 12:19:23.992 | EURUSD (Ask: 1.07615, Bid: 1.07611) 18/10/2015 21:00:00
12/11/2015 12:19:23.992 | USDCHF (Ask: 1.00362, Bid: 1.00350) 18/10/2015 21:15:00
12/11/2015 12:19:24.008 | NaN @: 8133
12/11/2015 12:19:24.008 | EURUSD (Ask: 1.07615, Bid: 1.07611) 12/11/2015 02:45:00
12/11/2015 12:19:24.008 | USDCHF (Ask: 1.00362, Bid: 1.00350) 01/01/0001 00:00:00
12/11/2015 12:19:26.332 | NaN @: 8133
12/11/2015 12:19:26.332 | EURUSD (Ask: 1.07616, Bid: 1.07611) 12/11/2015 02:45:00
12/11/2015 12:19:26.332 | USDCHF (Ask: 1.00362, Bid: 1.00350) 01/01/0001 00:00:00
12/11/2015 12:19:26.613 | NaN @: 8133
12/11/2015 12:19:26.613 | EURUSD (Ask: 1.07617, Bid: 1.07611) 12/11/2015 02:45:00
12/11/2015 12:19:26.613 | USDCHF (Ask: 1.00362, Bid: 1.00350) 01/01/0001 00:00:00

1h log (after refresh):

12/11/2015 12:26:24.289 |  - Initialize - 
12/11/2015 12:26:24.320 | EURUSD (Ask: 1.07643, Bid: 1.07636) 20/07/2014 21:00:00
12/11/2015 12:26:24.320 | USDCHF (Ask: 1.00320, Bid: 1.00308) 20/07/2014 21:00:00
12/11/2015 12:26:24.335 | NaN @: 6642
12/11/2015 12:26:24.335 | EURUSD (Ask: 1.07643, Bid: 1.07636) 16/08/2015 21:00:00
12/11/2015 12:26:24.335 | USDCHF (Ask: 1.00320, Bid: 1.00308) 17/08/2015 13:00:00
12/11/2015 12:26:24.335 | NaN @: 6643
12/11/2015 12:26:24.335 | EURUSD (Ask: 1.07643, Bid: 1.07636) 16/08/2015 22:00:00
12/11/2015 12:26:24.335 | USDCHF (Ask: 1.00320, Bid: 1.00308) 17/08/2015 14:00:00
12/11/2015 12:26:24.335 | NaN @: 6644
12/11/2015 12:26:24.335 | EURUSD (Ask: 1.07643, Bid: 1.07636) 16/08/2015 23:00:00
12/11/2015 12:26:24.335 | USDCHF (Ask: 1.00320, Bid: 1.00308) 17/08/2015 15:00:00
12/11/2015 12:26:24.335 | NaN @: 6645
12/11/2015 12:26:24.335 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 00:00:00
12/11/2015 12:26:24.335 | USDCHF (Ask: 1.00320, Bid: 1.00308) 17/08/2015 16:00:00
12/11/2015 12:26:24.335 | NaN @: 6646
12/11/2015 12:26:24.335 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 01:00:00
12/11/2015 12:26:24.335 | USDCHF (Ask: 1.00320, Bid: 1.00308) 17/08/2015 17:00:00
12/11/2015 12:26:24.335 | NaN @: 6647
12/11/2015 12:26:24.335 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 02:00:00
12/11/2015 12:26:24.335 | USDCHF (Ask: 1.00320, Bid: 1.00308) 17/08/2015 18:00:00
12/11/2015 12:26:24.335 | NaN @: 6648
12/11/2015 12:26:24.335 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 03:00:00
12/11/2015 12:26:24.335 | USDCHF (Ask: 1.00320, Bid: 1.00308) 17/08/2015 19:00:00
12/11/2015 12:26:24.335 | NaN @: 6649
12/11/2015 12:26:24.335 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 04:00:00
12/11/2015 12:26:24.335 | USDCHF (Ask: 1.00320, Bid: 1.00308) 17/08/2015 20:00:00
12/11/2015 12:26:24.335 | NaN @: 6650
12/11/2015 12:26:24.335 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 05:00:00
12/11/2015 12:26:24.335 | USDCHF (Ask: 1.00320, Bid: 1.00308) 17/08/2015 21:00:00
12/11/2015 12:26:24.335 | NaN @: 6651
12/11/2015 12:26:24.335 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 06:00:00
12/11/2015 12:26:24.351 | USDCHF (Ask: 1.00320, Bid: 1.00308) 17/08/2015 22:00:00
12/11/2015 12:26:24.351 | NaN @: 6652
12/11/2015 12:26:24.351 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 07:00:00
12/11/2015 12:26:24.351 | USDCHF (Ask: 1.00320, Bid: 1.00308) 17/08/2015 23:00:00
12/11/2015 12:26:24.351 | NaN @: 6653
12/11/2015 12:26:24.351 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 08:00:00
12/11/2015 12:26:24.351 | USDCHF (Ask: 1.00320, Bid: 1.00308) 18/08/2015 00:00:00
12/11/2015 12:26:24.351 | NaN @: 6654
12/11/2015 12:26:24.351 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 09:00:00
12/11/2015 12:26:24.351 | USDCHF (Ask: 1.00320, Bid: 1.00308) 18/08/2015 01:00:00
12/11/2015 12:26:24.351 | NaN @: 6655
12/11/2015 12:26:24.351 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 10:00:00
12/11/2015 12:26:24.351 | USDCHF (Ask: 1.00320, Bid: 1.00308) 18/08/2015 02:00:00
12/11/2015 12:26:24.351 | NaN @: 6656
12/11/2015 12:26:24.351 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 11:00:00
12/11/2015 12:26:24.351 | USDCHF (Ask: 1.00320, Bid: 1.00308) 18/08/2015 03:00:00
12/11/2015 12:26:24.351 | NaN @: 6657
12/11/2015 12:26:24.351 | EURUSD (Ask: 1.07643, Bid: 1.07636) 17/08/2015 12:00:00
12/11/2015 12:26:24.351 | USDCHF (Ask: 1.00320, Bid: 1.00308) 18/08/2015 04:00:00

After watching the 5m for a bit I can confirm the Original NYE ;) glitch is only occurring during the first 2mins of a new 5min bar!


@WhiteSage

WhiteSage
08 Jul 2015, 22:09

Thank you! Turns out the default windows alt +{code} is a different set to the ones in example.

To get the ones seen (and many more) check out this list  http://unicode-table.com/en/#box-drawing
To get a symbol, open wordpad and type the symbol code then immediately press alt+x. The code should be converted, then copy-paste in to calgo.


@WhiteSage

WhiteSage
25 Jun 2015, 16:50

Thats pretty much what I was going to suggest!

Objects must have unique names, that was they can be changed or deleted ;)


@WhiteSage

WhiteSage
25 Jun 2015, 16:47

Found it! Sorry, didn't realise it was in the documentation.

series = CreateDataSeries();

Another question answer by myself ;)
Thanks spotware, you guys are so patient!


@WhiteSage

WhiteSage
25 Jun 2015, 16:40

A better way of putting my question is: Can I use an IndicatorDataSeries and hide it? Or have a buffer object that behaves the same way regarding indexes?


@WhiteSage

WhiteSage
25 Jun 2015, 16:26

Robots and Charts have a different level of history, when its in a chart you may have 8000~ bars of history, when its in a backtest/optimize you may only get a few hundred samples. I'm unsure if its the case here but it's worth checking. Have your code Print(MarketSeries.Open.Count) to find out. Best of luck.


@WhiteSage

WhiteSage
25 Jun 2015, 16:15

Suppose I have some series that are used for calculation and not final display, is it possible to have it in a data series that has native indexing?
When creating a non output IndicatorDataSeries

private IndicatorDataSeries Test;

I am unable to create a new instance as its an 'abstract class', and I am unable to assign to it ( 'Object reference not set to an instance of an object.' )


@WhiteSage

WhiteSage
25 Jun 2015, 13:31

More simply put, use an If statement as you iterate through the data and populate multiple IndicatorDataSeries. The PlotType Discontinuous will draw between populated points and leave a gap where they are NaN. If you are coloring a single line by indexes you can use <= or other methods to make sure it doubles up the fields at that point (eg The current value in both are populated) creating a continuous line that appears to change colour but has not gaps!


@WhiteSage