|
|
Re: Some questions for BrokerAPI(1.96.4)
[Re: kvm]
#475798
01/08/19 13:16
01/08/19 13:16
|
Joined: Dec 2014
Posts: 56
ibne
OP
Junior Member
|
OP
Junior Member
Joined: Dec 2014
Posts: 56
|
So we can join forces on trying to undertsand the Zoro API  Not filtering these ticks might look very strange on a tick chart, with periods of a "flat" line. I guess this defeates the purpose of a "tick", which to me means a price change. Btw: when you also work with Dukascopy, you will agree that their API is even more broken...
|
|
|
Re: Some questions for BrokerAPI(1.96.4)
[Re: kvm]
#475802
01/08/19 14:48
01/08/19 14:48
|
Joined: Dec 2014
Posts: 56
ibne
OP
Junior Member
|
OP
Junior Member
Joined: Dec 2014
Posts: 56
|
The latest one: DDS2-jClient-JForex 3.4.13 JForex-API 2.13.62 Their API is overloaded and not very user friendly. Take for example the IEngine.executeTask() method. Why should the user take care on which thread he is when executing order related tasks? The API could handle this easily... This is just one of the many shortcomings. Ok, back to Zorro  Here we urgently need some reply on how to correctly implement the API functions. What is also not so good is that Zorro queries ticks, instead of getting them pushed by default. This means that the tick history of Zorro is very different to the brokers history with many missed ticks. That makes comparison of tick based backtests impossible.
|
|
|
Re: Some questions for BrokerAPI(1.96.4)
[Re: ibne]
#475803
01/08/19 15:02
01/08/19 15:02
|
Joined: Feb 2017
Posts: 1,812 Chicago
AndrewAMD
Serious User
|
Serious User
Joined: Feb 2017
Posts: 1,812
Chicago
|
What is also not so good is that Zorro queries ticks, instead of getting them pushed by default. This means that the tick history of Zorro is very different to the brokers history with many missed ticks. That makes comparison of tick based backtests impossible. It is not impossible... in fact, I get every tick in my plugin: https://github.com/AndrewAMD/SierraChartZorroPluginTo get all ticks, you must implement SET_HWND. You must send a message to Zorro from another thread or process. Then Zorro will go ahead and collect that tick.
|
|
|
Re: Some questions for BrokerAPI(1.96.4)
[Re: ibne]
#475809
01/08/19 16:09
01/08/19 16:09
|
Joined: Feb 2017
Posts: 1,812 Chicago
AndrewAMD
Serious User
|
Serious User
Joined: Feb 2017
Posts: 1,812
Chicago
|
Calling the windows handle will make zorro call all subscribed assets.
Perhaps it is overkill, but if you're streaming your data, then you already have the data in-memory.
For the other questions, ask jcl.
EDIT: Clarity and correctness
Last edited by AndrewAMD; 01/08/19 16:14.
|
|
|
Re: Some questions for BrokerAPI(1.96.4)
[Re: AndrewAMD]
#475810
01/08/19 16:22
01/08/19 16:22
|
Joined: Dec 2014
Posts: 56
ibne
OP
Junior Member
|
OP
Junior Member
Joined: Dec 2014
Posts: 56
|
Andrew, your plugin is written in native C/C++, which is a big advantage over plugins which relay on JVM languages. Dukascopy is using Java and so we end up with a very high latency regarding tick fetching, because we must use a Java to C/C++ bridge. I think that the most useful solution would be that Zorro provides update methods which get called by the plugin. Currently it is the other way round 
|
|
|
Re: Some questions for BrokerAPI(1.96.4)
[Re: ibne]
#475811
01/08/19 16:32
01/08/19 16:32
|
Joined: Feb 2017
Posts: 1,812 Chicago
AndrewAMD
Serious User
|
Serious User
Joined: Feb 2017
Posts: 1,812
Chicago
|
You do also have the option of writing a bridge in Java, and have your plugin communicate with it. The java bridge would be a server to zorro and a client to the broker. This way, you can: * Have the Java bridge send PostMessage, and * Both the plugin and the bridge can be single-threaded (usually ideal) * Have a native C++ plugin. If you're not sure which protocol to use between the two, just use the DTC protocol and recycle my plugin.  Rationale is similar to what you see here: https://www.sierrachart.com/index.php?page=doc/helpdetails76.html(Mind you, these people have strong opinions, but I share some sentiment.)
|
|
|
|