Topics
Replies
Spotware
22 Jan 2014, 09:52
RE:
drewski said:
Hi there,
I am quite new to the downloading and implementation of indicators and robots but would really like to have a bit of further clarity around the base understanding please.
I have downloaded cAlgo from the desktop and managed to download a couple of new indicators / bots successfully from the base selection provided. For instance: 'Average True range' and 'RSI range robot'.
However, when accessing the web version of the platform, these (indicators) disappear or are not available to load against the platform. Am I correct in stating that these are not available for the web version?
Yes that is correct. Custom indicators and cBots are available in the Desktop cTrader and cAlgo applications only for the time being.
I also found that after successfully installing the indicators to the desk top. I came back two days later and had to load them all again via cAlgo. Shouldn't they remain in the desk top 'custom indicators' period? Or do you have to keep reloading them? Is there a way I can save them permanently?
You can save templates with your favorite indicators. From the top center menu on the chart.
You can watch this video vhttp://help.spotware.com/videos?v=-e04-f2qUAk
I also downloaded some Fibonacci indicators (bands and pivot points) and 'STARC' but they wouldn't operate and noted errors as it could not find 'Average True Range'. Don't understand this as 'Average true range' is in-fact pre loaded to the 'Volatility' selection of indicators already loaded and I have subsequently also reloaded 'ATR' again as a custom indicator... still these indicators will not work... Any ideas?
Normally, you should be able to add an instance of the downloaded and installed indicator without having to build it. You would have to build it only if you modify the code. In that case you would need the referenced files. Note that there have been more than one Average True Range indicators uploaded to cTDN.
Please try to install those indicators again there are instructions for downloading and installing indicators from cTDN in the Indicators section. You can also watch this video http://www.youtube.com/watch?v=-tazy6U_HMw
Lastly, where can you recommend for a novice more information about developing and writing bots and indicators using C# or .NET language. I have absolutely no understanding of this language protocol and would like to understand the basics as I will have to provide demonstrations using your platform.
Any videos etc?
Writing your first cBot in cAlgo Video
There are many other tutorials for C# online.
Thanks in advance
@Spotware
Spotware
20 Jan 2014, 16:17
RE: RE:
PML100 said:
admin said:
All platforms always host limit and stop orders. This includes cTrader, ECNs, aggregators, etc. They are almost never hosted with individual Bank LPs. This is due to the fact that (1) you never know what Bank LP will quote the required price first and (2) the Banks do not provide such functionality. Limits and Stops are then sent to the LP when the price is triggered. Price advantage is still probable for Limits. Also, what makes cTrader different is that (1) it is located right next to the LPs, (2) that there is no need for unnatural hops (i.e. bridges) because we operate over FIX and (3) cTrader treats resting orders as Limits and Stops respectively, not as Market Orders like some other platforms do.
I would like some clarity on the above.
Are you saying that limit orders are not sent to the ECN as limit orders, they are held on the cTrader server and sent as market orders when triggered?
We send limit orders as limit to the LP when they have been triggered.
@Spotware
Spotware
17 Jan 2014, 10:35
You can call the ClosePosition method and specify the volume to close:
ClosePosition(position, 50000); // hardcoded volume
var volumeToClose = Symbol.NormalizeVolume(position.Volume * 0.5) // calculated volume ClosePosition(position, volumeToClose);
/api/reference/robot/closeposition-8635
@Spotware
Spotware
16 Jan 2014, 17:28
You could code the logic in the OnStart method and then start the cBot whenever it is necessary. This way you may run script-like cBots that do not depend on incoming ticks.
Very soon cBots will be included in cTrader, so you may attach multiple cBots to a chart and then start and stop whichever one you choose at any given moment.
@Spotware
Spotware
16 Jan 2014, 09:09
You will have to subscribe a method and define it like in the following code:
protected override void OnStart() { Positions.Opened += OnPositionsOpened; ExecuteMarketOrder(TradeType.Buy, Symbol, volume, "Robot2"); } private void OnPositionsOpened(PositionOpenedEventArgs args) { var position = args.Position; if(position.Label == "Robot2") { // position has been opened by robot } }
Note that the method will be called whenever a position is opened whether by this robot or else. So, you will have to check the position's label to make sure that it is the robot's position that is opened.
Alternatively, you can use the asynchronous equivalent method with a callback function.
See the what's new section on the new trading api as well as the guide.
@Spotware
Spotware
22 Jan 2014, 17:02
Thank you for reporting this. We will investigate and fix it as soon as possible.
@Spotware