API Support Forum
User Profile

Viewing User Profile for: AErglis3996


About

Nov 26, 2019 10:39 AM

Feb 11, 2020 02:52 PM

Feb 12, 2020 10:26 AM



Post Statistics
AErglis3996 has contributed to 24 posts out of 5677 total posts (0.42%) in 1821 days (0.00 posts per day).

20 most recent posts:

API Support » What does it meen? Feb 11, 2020 @ 02:52 PM (Total replies: 1)

35=B .....58=tesrt 61=2 148=System...
35=B => Alerts, notifications, reminders and news from OEC TradeDesk
58=tsert =>?
61=2 => Background
148=System =>?
Probably these "News" are not very good? :)
Arturs

Market Data » Palin ES data from sample API? Feb 11, 2020 @ 01:52 PM (Total replies: 1)

I found it: "SubscribeQuotes ES 202003;"
Just "SubscribeQuotes" followed by symbol and YYYYMM ended by ";"

Market Data » Palin ES data from sample API? Feb 11, 2020 @ 01:41 PM (Total replies: 1)

In read-me file:

https://github.com/GainFutures/OECFIXSample/blob/master/readme.md

one can read that for market data available these commands:

[[MSG] MsgName =]
SubscribeQuotes ["FULL"]
( ( ("SPREAD" | "FOREX") Symbol) | (FuturesBaseSymbol ExpirationMonth [("CALL" | "PUT") StrikePrice])) [">" OutputFilename]
[[MSG] MsgName =]
SubscribeDOM ["FULL"]
(("SPREAD" FuturesSpreadSymbol) | (FuturesBaseSymbol ExpirationMonth [("CALL" | "PUT") StrikePrice])) [">" OutputFilename]
[[MSG] MsgName =]
SubscribeHistogram ["FULL"]
(("SPREAD" FuturesSpreadSymbol) | (FuturesBaseSymbol ExpirationMonth [("CALL" | "PUT") StrikePrice])) [">" OutputFilename]
[[MSG] MsgName =]
SubscribeTicks ["FULL"]
((("SPREAD" | "FOREX") Symbol) | (FuturesBaseSymbol ExpirationMonth [("CALL" | "PUT") StrikePrice])) [("FROM" timestamp) | ("LAST" timespan] [">" OutputFilename]

I wold like to get just bid and ask data stream for live, plain Es-mini. Neither spreads, nor options, nor what ever. What is command in terminal after login to FAST server to get plain Futures data feed in this sample API?

Market Data » FIX Logon response and username hashing for FAST Login Feb 04, 2020 @ 02:19 AM (Total replies: 16)

Yes it is almost correct. Instead of myUsername GAIN FAST server more like just string "client". Regarding mistake in binary code - mistake is in the fact that you do not need to pass HeartbeetInt and MsgType at all:
...........
3) 10111111 =>”A” => MsgType, Mandatory field regarding GF API documentation <- not needed
.........
5)10110110 => Heartbeat 30 <- also not needed
........
The rest is perfectly OK.
Arturs

Market Data » Hello Handshake fields Feb 04, 2020 @ 12:41 AM (Total replies: 8)

In case somebody needs it. The answer to my question is:

c0 7d 82
63 6c 69 65 6e f4
68 74 74 70 3a 2f 2f 4f 70 65 6e 46 41 53 54 2e 6f 72 67 2f 4f 70 65 6e 46 41 53 54 2f 31 2e b1

Arturs

Market Data » Hello Handshake fields Feb 03, 2020 @ 09:06 AM (Total replies: 8)

OK. Thanks Vitaliy! Probably I will be able to process on my own. I shell bother you in case of the greatest necessity only! During weekend I studied a lot C# and I shell manage.
Thanks Chris as well!
Arturs

Market Data » Hello Handshake fields Jan 31, 2020 @ 02:55 PM (Total replies: 8)

Vitaliy, mill thanks for braking grave silence!
Please try to understand what help I need! Our conversation goes in some loops and your answers so far were useless.

1. for FAST implementation there are 6 opencode possible libraries under the Sun:
https://en.wikipedia.org/wiki/FAST_protocol
GAIN samples uses OpenFAST. Good, use it! I am going to use goFAST and build my API in GO. There is four reasons for doing so:
1) OpenFAST runs only on Windows machines;
2) I am not really comfortable with C/Java coding;
3) For me it is very easy to build my API in GO. Because I did lot of Go coding recently.
4) GO has all needed libraries for FIX and FAST.
The only problem is that goFAST do not automatically implement SCP1.1 So, these 3-5 bytes for Handshake I have to write by hand. My basic question is what GAIN FAST server expects in this Hello Handshake fields? What are these 3-5 bytes I have to pass to it? It is it. No more information I need to process with my GO project.

2. Based on SCP1.1 specification, your example and even OpenFAST source code I tired to figure this Hello Handshake by myself. I got some results but obviously my guessings are not 100% correct. Exactly in this particular OpenFAST source code you send to me I spotted that some hushing is taken place. From that came my first question about possible hashing of FAST fields? You answered was “No. there is no hushing”. Thanks for that!

3. Please do what I am asking to you and don’t be more clever then I need it. Can you please place in your example code place temporary operator who prints out the binary MSG what goes from your API to GAIN FAST server for Login? From that I will be able to figure out what I need! It is it. I don’t need any links anymore.

Have a nice weekend! All the best!
Arturs

Market Data » Hello Handshake fields Jan 31, 2020 @ 01:45 PM (Total replies: 8)

https://www.youtube.com/watch?v=hHiKGyaiz40

Market Data » Hello Handshake fields Jan 30, 2020 @ 06:34 PM (Total replies: 8)

P.S.
Don’t bother yourself about data format it can be what ever: binary, hex, decimal array (vector in C). Just hello and template 63 which was able at that moment to login into FAST data server and get response with template 60.
Arturs

Market Data » Hello Handshake fields Jan 30, 2020 @ 06:15 PM (Total replies: 8)

Vitaliy, I can understand that this Hello question for you makes headaches because you are not understanding what I need. The thing is that I can’t use OpenFAST which has support for SCP out of the box. For FAST encoding I am using goFAST and this library doesn’t have support for SCP. Also I am not very good at C# or C family at all. So, to read and understand your sample file for me is real pain. Can you please send to me directly, through Christopher or just paste here the data stream what cums out from your API in moment of connection to FAST server? Just working byte stream! I will decode it and understand what fields are present and needed for my login by myself. In places of Username and Password you can just cut it out and leave first and last byte or live them as they are because it is dummy server anyway. As bargain at the end of my project you will get API capable to run on Linux and full understanding of this HELLO MSG.
Thanks!
Arturs

Market Data » Hello Handshake fields Jan 30, 2020 @ 05:22 PM (Total replies: 8)

https://gainfutures.com/GFAPI/ GAIN Futures -> Fast FAST Session Control Protocol 1.1 Session should be started with HELLO handshake...

There is no template for this Hello MSG in template file. So, connection should be done "by hand". What are the fields I should pass to GAIN FAST server with Hello handshake?

Thank you in advance for any useful help! Pointing to SCP1.1 specification is not in any use.
Arturs

Market Data » FIX Logon response and username hashing for FAST Login Jan 30, 2020 @ 01:01 PM (Total replies: 16)

Let me boil down this question to yes/no.
Are fields:
1) PresenceMap = 11000000
2) Template ID = 16002
3) Username = myUsername
4) VendorId = http://OpenFAST.org/OpenFAST/1.1
correct for Hello Handshake? Is something missing?
Arturs

Market Data » FIX Logon response and username hashing for FAST Login Jan 30, 2020 @ 12:10 PM (Total replies: 16)

All my problems boils down to simple thing:

in https://gainfutures.com/GFAPI/ GAIN Futures -> Fast

in the middle (bit upper) part is title: FAST Session Control Protocol 1.1 with text: Session should be started with HELLO handshake...

What is this HELLO handshake?

Thank you in advance for any useful help! Pointing to SCP1.1 specification is not in any use. I know it all by hart and am able to quot it in big chunks. :)
Arturs

Market Data » FIX Logon response and username hashing for FAST Login Jan 29, 2020 @ 03:30 AM (Total replies: 16)

Please have a look! I am trying to figure out what is wrong. Bytes stream from my application in FAST encoding (binary and decimal representations).

From GF PAI documentation, quot: “Session should be started with HELLO handshake according SCP 1.1.”
So, Hello (how far I was able to figure it out)
11000000 => 192 => Presence Map from SCP1.1 p. 23
01111101 10000010 => Hello template ID 16002 from SCP1.1 p. 23
11000001, 11000001 => two what ever fields. From GF API documentation “SenderName and VendorId fields are used just for information”. In this case I used two “A” and it seems that these fields are really “just for information” without any impact on server response. Regarding SCP1.1 I tried to put in there my Username and in VendorID some URL like: “http://www.fixprotocol.org/ns/fast/scp/1.1”. It has no impact to FAST server response.

Template 63. From GF API documentation in this MSG must be present MsgType, SendingTime HeartbeatInt, Username and Password. Because of that Presence Map should look like this:
11111110=>254. It is in sharp contrast to template file which has stated that MsgType and HeartbeatInt are “Constants”. FAST specification 1.1, 6.3.3 p.13 quote: “The value of a constant field is never transferred.”. So, MsgType and HeartbeatInt should be omitted from Presence Map and MSG fields. However in https://bitbucket.org/GainFuturesDev/oecfixsample/src/master/FAST/FastMessageFactory.cs example and also example file what I got from GF Support one can find that along with SendingTime, Username and Password it sends also HeartbeatInt but not MsgType. Regarding this PresenceMap should be: 11011110=>222 with all but MsgType field in MSG. Such combination is not working. I am going to stick to version which gave me at least some results. I found that there are only two such PresenceMaps. They are: 11000000=>192 or 11100000=>224 however neither of them corresponds to mandatory fields stated in GF API documentation. So, my PresenceMap is:
1) 11000000 => 192
2) 10111111 => Template ID 63
3) 10111111 =>”A” => MsgType, Mandatory field regarding GF API documentation
4) 00000100 01001011 01110011 00101100 00010010 00011000 10000110=> sending time. At this moment it is 20200129072134
5)10110110 => Heartbeat 30
6) 01101001 01110011 00110011 00111001 00111001 10110110=>AErglis3996=>my Username
7) 00110100 00110110……. 11000110=>long Password. FastHashcode from FIX tag 12004
Hello and template fields are passed to server in one stream.

FAST sever response is:
1) 11000000 => Presence Map
2) 01111101 10000010 => Template ID => 16002
3) 01001111 01000101 01000011 00100000 01000110 01000001 01010011 01010100 00100000 01010000 01110010 01101001 01100011 01100101 11110011 => OEC FAST Prices
4) 01101000 01110100 01110100 01110000 00111010 00101111 00101111 01001111 01110000 01100101 01101110 01000110 01000001 01010011 01010100 00101110 01101111 01110010 01100111 00101111 01001111 01110000 01100101 01101110 01000110 01000001 01010011 01010100 00101111 00110001 00101110 10110001=>http://OpenFAST.org/OpenFAST/1.1
5) 11000000=>One more presence map
6) 10111101=>Template ID 61
7) 00000100 01001011 01110011 00101100 00010010 01110111 10110000=>Sending time 20200129084336
8) 01001001 01101110 01110110 01100001 01101100 01101001 01100100 01010101 01110011 01100101 01110010 01001111 01110010 01010000 01100001 01110011 01110011 01110111 01101111 01110010 11100100=>InvalidUserOrPassword

Without Hello MSG in front just passing Login template 63 gives server response:
1) 11000000 => Presence Map
2) 01111101 10000011 => Template ID 16003
3) 10000010, 10001011, 10000000=> for me meaningless numbers: 2, 11, 0
4) 01010100 01100101 01101101 01110000 01101100 01100001 01110100 01100101 00100000 01101110 01101111 01110100 00100000 01110011 01110101
01110000 01110000 01101111 01110010 01110100 01100101 11100100 => Template not supported

Where is mistake?

Market Data » FIX Logon response and username hashing for FAST Login Jan 28, 2020 @ 01:09 PM (Total replies: 16)

Thank you very much for your attention and helping hand! Unfortunately this file you provided is almost equal to one I already using. Except 4 some minor irreverent differences in token parsing. I sent screen shot of DiffMerge comparison to your e-mail. Question is not about templates but: are my username and password (FIX tag 12004) is valid for FAST login? Please check them!

Market Data » FIX Logon response and username hashing for FAST Login Jan 28, 2020 @ 10:29 AM (Total replies: 16)

Mr. Vitaliy Pfau! Please! I am waiting.
Arturs

Market Data » FIX Logon response and username hashing for FAST Login Jan 28, 2020 @ 08:43 AM (Total replies: 16)

It seems to me that problem is in fact that template states that HeartBeatInt and MsgType are constant. So there is no need for passing them in FAST MSG. In samples Heartbeat is passed, but in FAST Login documentation is indicated that both of these fields are mandatory. So, after deleting "constant" from templates and passing both of them in FAST MSG, and prepending FAST MSG with HELLO bits like []byte{192, 125, 130, 193, 193} successfully led me to server answer with Template 61: WrongUsernameOrFassword which I hope we will be able to resolve today. Actually I think that this is bug in templates.

Market Data » FIX Logon response and username hashing for FAST Login Jan 27, 2020 @ 10:28 PM (Total replies: 16)

Thanks Good and your help I get to the point where I have GAIN FAST server response from Template 61: "InvalidUserOrPassword". Can you please check that my password (FIX Tag 12004) and username AErglis3996 is correct for FAST Login? Are you sure that they do not be hashed or what ever manipulated? Because deep in OpenFAST source there is some hashing taking place. Might be your server silently expects some hash sum from me?
Thanks!
Arturs

Market Data » FIX Logon response and username hashing for FAST Login Jan 27, 2020 @ 08:30 PM (Total replies: 16)

Just idea - cause your FAST server runs on Windows might be there is need for something like this:
https://docs.microsoft.com/en-us/globalization/encoding/data-encoding
?
Arturs

Market Data » FIX Logon response and username hashing for FAST Login Jan 27, 2020 @ 06:53 PM (Total replies: 16)

Thank you for quick response! Unfortunately it is not answering my question and not solving Hello problem. Might be with little more effort you can provide me with better answer and some solution to this Login problem?
Arturs.