Replies

rmssf
18 Jan 2020, 17:36

RE: RE: RE: RE:

I did it through cTrader as you say. After clicking the trade in the chart it remains selected and highlighted while clicking the chartshot button. The problem may be with the Mac version then, I use the Windows version.

francescoxio said:

Hi rmmsf. To take the CHARTSHOT through cTrader I need to click on PIC icon and can't mouse over the position. I can take a regular screenshot from my Mac which is fine, but cTrader one was better 'cause the link and opportunity to share easily. Anyway thanks x ur help.

 


@rmssf

rmssf
18 Jan 2020, 06:21

RE:

Did he really call "Relax" to a strategy that opens 0.1 lot positions with a $100 balance.

 


@rmssf

rmssf
18 Jan 2020, 05:32

RE: RE:

I'm not seeing that problem with chartshots in cTrader 3.6 . It must be something with your color options.

Only limitation I can find is that you can select only one trade at a time, which will be the one with its info displayed in the chartshot.

 


@rmssf

rmssf
14 Feb 2019, 19:34 ( Updated at: 21 Dec 2023, 09:21 )

Hello Mr. Panagiotis,

I've used an empty cbot just to test the indicator.

After noticing that tick data in an indicator was inconsistent during backtesting in visual mode I've built the simple indicator below to analyze what was happening, it just draws the number of times the function Calculate() is called over the simulation period.

namespace cAlgo
{
    [Indicator(IsOverlay = false, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None, ScalePrecision = 0)]
    public class TickCount : Indicator
    {
        [Output("Tick count")]
        public IndicatorDataSeries TickCountOutput { get; set; }

        private int count = 0;
        private bool plot_zero = false;

        public override void Calculate(int index)
        {
            if (IsLastBar)
            {
                if (!plot_zero)
                {
                    plot_zero = true;
                    TickCountOutput[index - 1] = 0;
                }
                TickCountOutput[index] = count++;
            }
        }
    }
}


So looking closely it seems that calls to Calculate() are done asynchronously with respect to the tick data from server, in which the calls appear instead to being triggered by a timer.
Because of this behavior, for indicators that depend on tick data from server, a backtesting in visual mode produces invalid results. However I assume that there may be not many users impacted by this, as tick data is not commonly used in indicators.

 

Below is the indicator output at a constant simulation speed of 1000x. Notice the linear output without correlation to the tick volume.

 

Below is the indicator output at a simulation speed gradually increasing from minimum to maximum speed. The frequency at which Calculate() is called is not linear with the simulation speed, which results in that at higher speeds the amount of tick data missed by the indicator is close to 100%.

 

Regards,
Rui

 


@rmssf

rmssf
22 Mar 2017, 14:00

RE: RE:

luizalbukerke said:

Spotware said:

Hi beto_gauer,

Autochartist is already integrated with cTrader but it is offered as an additional feature. In order for you to see Autochartist in cTrader you will need to ask from your broker to add it in his cTrader offering.

Thanks

Hi, I spoke with my broker about the autochartist feature and they told me to speak to you guys instead. He says this is a feature you guys can enable. The funny thing is, when I open cTrader without any broker credentials, the autochartists is available. As soon as I signin to my broker, the autochartist feature is gone. Please help!

 

Autochartist is a comercial product. I believe it is your broker who is responsible for purchasing the licence.

I have tried the autochartist feature in cTrader demo some time ago but at the time it seemed to have very poor integration and functionality.

 

 


@rmssf

rmssf
11 Feb 2017, 18:05

That's good news, thank you!


@rmssf

rmssf
11 Feb 2017, 18:03

I believe it is possible for corporate and institutional investors, and you would need a contract with Spotware.


@rmssf

rmssf
08 Feb 2017, 02:03

Hi, there's TweetDeck - https://tweetdeck.twitter.com - which has almost all of those functionalities (alerts only with pop-up and/or sound).

 


@rmssf

rmssf
18 Jan 2017, 07:24

RE: RE:

djh.paganprophet@gmail.com said:

Can you please expand upon this. What settings can be changed?

Here are some parameters that any broker needs to control:

Instrument configuration (markups, comission, swap, trading hours), price feeds and filters, order routing, user accounts, books, risk management.


@rmssf

rmssf
24 Nov 2016, 15:26

RE:

Traderoriente5+kawase said:

I want to know which brokers have full package with spotware, that allow me to be a signal provider. Thanks

I know ICMarkets and Pepperstone are currently full members, but there may be others.

Rui


@rmssf

rmssf
03 Oct 2016, 13:51 ( Updated at: 21 Dec 2023, 09:20 )

RE:

Spotware said:

Sorry for not following up on this thread sooner, does this happen often, has it happened since? 

We are not able to look very deeply without precise time and date of the event. If there is a next time, please provide more information. 

 

Hello sir,

Yes, it has been happening frequently.

Here are some screenshots taken moments ago:


@rmssf

rmssf
03 Oct 2016, 11:34 ( Updated at: 21 Dec 2023, 09:20 )

It happened again some minutes ago.

Both sandboxed and live Connect API were returning a server error message after sending the authorization request.

Login to cTrader ID was showing a server error page (see below). Started my cTrader desktop app and could not login also using my cTrader ID.

 


@rmssf

rmssf
01 Oct 2016, 19:15

I have to retract my suggestion that those 3 services are hosted in the same platform.

This post - sandbox-api.spotware.com returns 500 internal server error - shows a server error during authentication;
I got the error message - ProtoMessage{ErrorResponse{errorCode:UNKNOWN_ERROR, description:Server error}} - when attempting to authenticate with either sandbox-tradeapi.spotware.com or tradeapi.spotware.com;
This forum was down because it was redirecting to an authentication page (Login to cTrader ID) which was showing an error page.

So to me it seems now that the problem has been only with the OAuth authentication service.

I hope this helps.

Rui


@rmssf

rmssf
30 Sep 2016, 10:44

RE: RE:

It was 11:06 UTC when I first noticed.
No, cTrader seemed to be working fine and I haven't noticed even a reconnect, same with the FIX API, both working seamlessly.

tetra said:

When was that exactly?

Was the cTrader platform also down at that time?

 

rmssf said:

ProtoMessage{ErrorResponse{errorCode:UNKNOWN_ERROR, description:Server error}}

 

 

 


@rmssf

rmssf
29 Sep 2016, 20:01

RE: RE:

With no open positions your cbot never reaches that part of the code.

"foreach" really has the literal meaning "for each of open positions", so without open positions, the code inside is skipped.

 

harry said:

lucian said:

Use  Server.Time.AddSeconds(-300) or  Time.AddSeconds(-300)

DateTime.Now is the  Windows Time.

cBot works on  Robot(TimeZone = TimeZones.UTC)

 

Thanks L!

Am still confused why hasn't it opened any position despite I put OR position == null.

Well am running it again and see if it would open any position, am moving the position == null in front of the Time now.

   if (position == null || position.EntryTime < Time.AddSeconds(-300))

 

 


@rmssf

rmssf
19 Sep 2016, 11:55

RE:

Spotware said:

Hello mindbreaker, 

Currently SSL is not being used for FIX connection. We understand the concern of yourself and your peers here in this forum and will address this situation as soon as we can. 

Please keep the option open to connect without SSL also.

Thank you.


@rmssf

rmssf
14 Sep 2016, 13:20

Had the time to make a couple more of simple tests.

This implementation, as I see it, is tailored to the retail client, not to trading institutions, and is a very light implementation with a reduced subset of the full functionalities that FIX44 provides.

One big advantage of this is that this simplicity gives faster message processing and thus less latency, compared to a full featured engine.

While I understand why it was made this way, to much simplicity can limit our options too much, and it can even break things.

In fact, this implementation is so light that it breaks the protocol in some situations:

 

The MdReqId field is completely ignored:

8=FIX.4.4|9=121|35=V|34=3|49=fxpig.xxxxxxx|50=QUOTE|52=20160914-10:07:43.832|56=cServer|262=MDReqID-2|263=1|264=1|267=1|269=0|146=1|55=1|10=110|
8=FIX.4.4|9=121|35=V|34=4|49=fxpig.xxxxxxx|50=QUOTE|52=20160914-10:07:44.630|56=cServer|262=MDReqID-3|263=2|264=1|267=1|269=0|146=1|55=1|10=110|

 

And the BusinessMessageReject (j) message from cServer to client is missing a required tag RefMsgType (372) and my client application promptly informs the server that is reject message was rejected:

8=FIX.4.4|9=121|35=V|34=2|49=fxpig.xxxxxxx|50=QUOTE|52=20160914-10:07:43.807|56=cServer|262=MDReqID-1|263=1|264=1|267=1|269=0|146=1|55=1|10=110|
8=FIX.4.4|9=121|35=V|34=3|49=fxpig.xxxxxxx|50=QUOTE|52=20160914-10:07:43.832|56=cServer|262=MDReqID-2|263=1|264=1|267=1|269=0|146=1|55=1|10=110|
8=FIX.4.4|9=150|35=j|34=3|49=cServer|52=20160914-10:07:43.883|56=fxpig.xxxxxxx|57=QUOTE|58=ALREADY_SUBSCRIBED:Try to subscribe on symbol(s) twice|379=MDReqID-2|380=0|10=145|
8=FIX.4.4|9=121|35=3|34=6|49=fxpig.xxxxxxx|50=QUOTE|52=20160914-10:07:44.744|56=cServer|45=3|58=Required tag missing|371=372|372=j|373=1|10=192|

 


@rmssf

rmssf
13 Sep 2016, 15:48

RE: RE: RE: RE: RE: RE: RE: RE: RE:

The FIX protocol as of today is the result of the evolution of itself, and it inherited the basic concepts of a more primitive version.
And this happens pretty much with all other protocols you can find in many other fields of engineering.

The TCP/IP protocol for example, there are many implementations and most of them differ in one aspect or another. That makes possible, for example, for a hacker to figure out what operating system and its version is running in a remote target machine. This is called "OS fingerprinting".

That said, Spotware have their own implementation of the protocol.
I've made a few tests, and apparently the MdReqId field is simply ignored, and it does not accept more than one symbol in each MarketDataRequest, either the additional symbols are ignored, or the message gets rejected.

ianj said:

If you use unique MdReqId in each market data subscription and ONLY use 1 Symbol in each subscription the updates should come through in separated messages because there is only 1 MdReqId for each market update message

Other than that it is implementation specific

http://btobits.com/fixopaedia/fixdic44/index.html

 

 


@rmssf

rmssf
13 Sep 2016, 13:36

RE: RE: RE: RE: RE: RE: RE:

Yes, in theory what you say makes some sense. But price of a currency is always relative to another. So you can't say GBP has valued/devalued in itself, it's always relative to another currency or asset. So if you want to buy 1 lot of GBP, are you buying with what? If the pair is GBPUSD, you are buying with USD, you buy 1 lot of GBP and sell 1 lot of USD. This makes the price of both currencies to move, not just GBP. And in theory it would propagate to all currencies available, so you would get an update for all those currencies in same message.

Yes, in theory it is possible to have multiple currency updates in one message, just because the protocol allows it.
Also because the English grammar allows you to, in theory you can write an entire book using only one sentence.

 

ianj said:

If it was not possible (according to the protocol), there would not be a Symbol for EACH price/tier update - there would be a single Symbol for the whole message. The FIX protocol spec does in fact define what it means when the Symbol is absent for each price update - you assume it has not changed since the last price (specifically any non TOP update)

As you suggested "in reality" ticks are usually discrete so the update is pushed out for that symbol only

However, a market making operation would often emit a collection of symbol updates when an underlying currency changes in perceived value - so for example if a lot of GBP was purchased, then there would be affects on GBPUSD, EURGBP, GBPJPY etc and a market maker would/could emit a family of pairs at the same time on the SAME tick (to avoid arbitrage hits) - in theory these could/SHOULD appear in the same message - that is why the FIX protocol allows it

Quotes are delayed and/or reduced (filtered/CONFLATED/time sliced) to offer enhanced value for those who are willing to pay extra and reduce the communication/processing overhead for those unwilling or unable to handle all updates. The brokers also run liquidity aggregation and what and when is emitted is configurable

I am surprised that so many feeds actually are for 1 symbol only

I have an issue with "corruption" on the book on the FIX feed for 1 broker only (FxPig) and it has occurred to be that my own assumption that all updates are for a single Symbol might be the cause - hence my comments here. I will comment again when i have performed some tests over the next day or so 

 

rmssf said:

In theory? If you know that there is one "tick" for each symbol and they are generated asynchronously in respect to each other, how would multiple symbol quotes work in a single message? Would the message be delayed while waiting for a quote for all symbols to get stacked, or would it send repeated quotes for all symbols each time a new quote for a particular symbol arrives?

 


@rmssf

rmssf
12 Sep 2016, 22:59

RE: RE: RE: RE: RE:

In theory? If you know that there is one "tick" for each symbol and they are generated asynchronously in respect to each other, how would multiple symbol quotes work in a single message? Would the message be delayed while waiting for a quote for all symbols to get stacked, or would it send repeated quotes for all symbols each time a new quote for a particular symbol arrives?

ianj said:

Yes, In theory you can get a single message with updates for multiple Symbols (hence the spec allowing separate Symbol for each price)

No, in practise i have never seen them mix on the same message - you get a separate message for each symbol

Saying that, i have a current problem with one particular Spotware broker feed - i wonder if this could be happening?

 

rmssf said:

No, you get 2 streams, one message for each symbol and properly identified with the symbol id.

mclskan said:

 


@rmssf