Topics
Replies
swapd0
31 Mar 2023, 20:42
( Updated at: 31 Mar 2023, 22:56 )
Sometimes I got the same issue, I send a ProtoOAGetTrendbarsReq with M1 time frame, for yesterday data (from 0:00:00 to 23:59:00) and I sometimes I get a zero size message or a 16kB message full of zeroes.
If I change the time frame to M5 it works.
Edited:
Maybe the problem is with the type of connection? I can create a sslv23, sslv23_client, sslv3, sslv3_client, ttlsv13, lsv13_client context type, not sure which one I've to use. Although I've no problem to get the symbol list, or subscribe to a symbol.
@swapd0
swapd0
18 Mar 2023, 20:49
I've fixed some bugs, most important, now it runs on a clean High Sierra or higher OS-X.
https://mega.nz/file/pUcUGara#0dBlJ2Si5fetHdieJZ4FigIjE_WP0X-xUgMqCL1k17w
@swapd0
swapd0
09 Mar 2023, 23:41
First beta version
https://mega.nz/file/IUlHSK5A#cMDhrZVYkQYufKCuKy56shAIi4O56wNvPytxHp2V1Ns
Join to discord group if you are a mac user
PD: sorry for the "spam"
@swapd0
swapd0
23 Feb 2023, 01:50
RE: macOS version
bishbashbosh said:
that's interesting - what's the stack? and it seems like quite a task to take on - are you planning to market it?
for cTrader themselves, now that .net MAUI is out, they could presumably rework their (WPF?) codebase into that and achieve native macOS support.
The network & data management code it's in C++, user interface in Objective-C, bot scripts (very simple) in Lua.
Right now I'm using FIX protocol for price quote but It doesn't have access to historical data, so I'm using other API for that. I'm having some issues with the constraints. I want to release a free version as soon as I fix that. By the way, right now, you can't place orders (I haven't looked that part) and you can only draw trend lines.
@swapd0
swapd0
15 Jul 2022, 01:04
( Updated at: 21 Dec 2023, 09:22 )
Still a lot of things to do but getting better...
I'm using FIX protocol, and sometimes some symbols don't get subscribed (EURUSD, EURGBP, EURAUD...). Also, I'm using some external services for the historical data (FIX implementation doesn't support historical data) and it's a nightmare because I can only send a few queries per minute.
@swapd0
swapd0
27 May 2022, 19:33
RE: RE:
amusleh said:
Hi,
Most probably something is wrong with your own app, either message checksums are not valid or something else is not correct with the messages you sent.
Thanks for the tip, If you look into my messages you can see that sometimes the message length field(9) is wrong.
Same message, but with very different sizes, I was storing the message into a vector but then I was looking for a null-terminated string to calculate the length. What a stupid mistake, now it registers to any symbol with a single message.
OUT: 8=FIX.4.4|9=144|35=V|34=5|49=live.icmarkets.****|50=******|52=20220520-19:21:27.018|57=QUOTE|56=cServer|262=reqId1|263=1|264=1|267=2|269=0|269=1|146=1|55=1|10=149|
OUT: 8=FIX.4.4|9=410|35=V|34=7|49=live.icmarkets.*****50=******|52=20220520-19:21:53.622|57=QUOTE|56=cServer|262=reqId5|263=1|264=1|267=2|269=0|269=1|146=1|55=14|10=203|
@swapd0
swapd0
26 May 2022, 10:13
OS-X, I've coded my own (small) FIX library.
I've seen what it's happening. Sometimes the messages that I send look like they don't reach the server, I send the login or the security list message and I don't get a message back, with that messages I can resend it without any problem until I get a response.
I've done a test, if I subscribe to a symbol but I don't get the quotes in about 5 seconds, I send the subscribe message again. After some seconds I get quotes from all symbols, but also I can get a lot of "SYMBOL ALREADY SUBSCRIBED" messages.
The problem is that for any message that I send, I don't get any confirmation message, and looks like some messages are lost or the server discards them without any error message.
@swapd0
swapd0
20 May 2022, 20:35
( Updated at: 20 May 2022, 20:52 )
After reading this post I've changed my multi-register routine to send several subscribe messages, each one for each symbol but I only get quotes from the first one.
By the way, I'm using different values for MDReqID on each request (reqId1, reqId5, reqId7...), not sure if this is right.
What I'm doing wrong?
Edited: Using the same value for MDReqID I get quotes from two symbols, although I've subscribed for 24...
Here are my request messages
OUT: 8=FIX.4.4|9=144|35=V|34=5|49=live.icmarkets.****|50=******|52=20220520-19:21:27.018|57=QUOTE|56=cServer|262=reqId1|263=1|264=1|267=2|269=0|269=1|146=1|55=1|10=149|
OUT: 8=FIX.4.4|9=410|35=V|34=7|49=live.icmarkets.*****50=******|52=20220520-19:21:53.622|57=QUOTE|56=cServer|262=reqId5|263=1|264=1|267=2|269=0|269=1|146=1|55=14|10=203|
OUT: 8=FIX.4.4|9=152|35=V|34=9|49=live.icmarkets.*****50=******|52=20220520-19:21:53.788|57=QUOTE|56=cServer|262=reqId7|263=1|264=1|267=2|269=0|269=1|146=1|55=17|10=226|
And here are the quotes, I only got from EURUSD(1)
IN:8=FIX.4.4|9=141|35=W|34=301|49=cServer|50=QUOTE|52=20220520-17:24:51.269|56=live.icmarkets.****|57=****|55=1|268=2|269=0|270=1.05502|269=1|270=1.05502|10=064|
IN:8=FIX.4.4|9=141|35=W|34=302|49=cServer|50=QUOTE|52=20220520-17:24:51.804|56=live.icmarkets.****|57=****|55=1|268=2|269=0|270=1.05503|269=1|270=1.05503|10=062|
IN:8=FIX.4.4|9=141|35=W|34=303|49=cServer|50=QUOTE|52=20220520-17:24:52.774|56=live.icmarkets.****|57=****|55=1|268=2|269=0|270=1.05502|269=1|270=1.05502|10=068|
IN:8=FIX.4.4|9=137|35=W|34=304|49=cServer|50=QUOTE|52=20220520-17:24:52.974|56=live.icmarkets.****|57=****|55=1|268=2|269=0|270=1.055|269=1|270=1.055|10=136|
IN:8=FIX.4.4|9=141|35=W|34=305|49=cServer|50=QUOTE|52=20220520-17:24:53.182|56=live.icmarkets.****|57=****|55=1|268=2|269=0|270=1.05499|269=1|270=1.05499|10=094|
IN:8=FIX.4.4|9=141|35=W|34=306|49=cServer|50=QUOTE|52=20220520-17:24:53.410|56=live.icmarkets.****|57=****|55=1|268=2|269=0|270=1.05498|269=1|270=1.05498|10=087|
IN:8=FIX.4.4|9=141|35=W|34=307|49=cServer|50=QUOTE|52=20220520-17:24:54.457|56=live.icmarkets.****|57=*****|55=1|268=2|269=0|270=1.05497|269=1|270=1.05497|10=098|
@swapd0
swapd0
03 Nov 2021, 10:14
( Updated at: 03 Nov 2021, 10:23 )
RE:
amusleh said:
Hi,
Field 108 is for heart beat interval and its required, here is a valid logon message that I just tested:
8=FIX.4.4|9=195|35=A|49=demo.ctrader.***|34=1|56=cServer|57=TRADE|50=TRADE|52=20211103-06:04:54.485|98=0|108=30|141=Y|553=***|554=***|10=026|
Are you sure you are connected to Trade end point? please check the host and port, maybe you are using Quotes port instead of Trade port.
This!
Thanks Amusleh
Although now I have this error. Is weird because I generate the timestamp with the same function and it works for a quote session.
Error: Invalid Logon message: SendingTime accuracy problem, field=52
Edited:
Ok, I'm sending messages with the time 7:15:xxx, the server responds with time 8:15:xx, although I've 9:15:xx on my computer.
@swapd0
swapd0
03 Nov 2021, 09:42
RE:
PanagiotisCharalampous said:
Hi swapd0,
Can you check if you can reproduce this problem using FIX API Sample? If you can connect using the sample, then compare the messages to find what is different.
Best Regards,
Panagiotis
I can't test it with FIX API Sample because I have a Mac.
@swapd0
swapd0
02 Apr 2023, 15:25
Today, Sunday 2/4/2023, H1 request doesn't work, I haven't touched the code but all my H1 or M1 request gets a response full of zeros, D1 works.
@swapd0