Great job!
Wealth-Lab - one love). I would love to come back, but is it something planned about being able to trade with russian brokers. I guess it's about BrokerAdapter and StreamingDataProvider. If so, what about "when"?
Mihail
Wealth-Lab - one love). I would love to come back, but is it something planned about being able to trade with russian brokers. I guess it's about BrokerAdapter and StreamingDataProvider. If so, what about "when"?
Mihail
Rename
Thank you for your feedback.
Currently we have no set date for this task. But of course it is on our list!
Currently we have no set date for this task. But of course it is on our list!
Is there any way to speed this up? Some kind of crowd funding maybe or so?
I've seen such method used by another algo platform.
I'm almost ready to pay for creating of this connector to a freelancer, but it doesn't look like the best way because I guess I'm not the only one wishing to have this connector, but may be I am))
I've seen such method used by another algo platform.
I'm almost ready to pay for creating of this connector to a freelancer, but it doesn't look like the best way because I guess I'm not the only one wishing to have this connector, but may be I am))
Which particular broker are you interested in, and do they have a documented API?
As a rule, Russian brokers offer live trading through QUIK software - even if they have developed own trading platforms. It has an API.
Crowd funding is a cool idea but I think we'll simply bump up the price of the Russia extension if we get to prioritizing the broker provider development.
Crowd funding is a cool idea but I think we'll simply bump up the price of the Russia extension if we get to prioritizing the broker provider development.
Ok, I got it, thanks.
Btw, do the previos extensions, e.g. Quik connectors, match this version's API?
Btw, do the previos extensions, e.g. Quik connectors, match this version's API?
No, WL7 is built from scratch. The 3rd party unsupported extensions you may find on WL6 website or elsewhere won't work with WL7.
If we make Quik connector, can it be placed in Extensions Developed by Third Parties of https://www.wealth-lab.com/Extension ? And can we get some kind of royalty or something if someone buys it?
Absolutely! We look forward to partnering with more third party developers. We haven't finalized the terms of how much charge we might take from such sales, but you know us and it will be generous as always :)
Could you add this to wish list please)
You changed your mind creating/publishing the QUIK connector?
There are two connectors on its way - for Quik and Alor API.
But I'm not confident in the future of both of them)).
So connector for Russian something from WL7 creators would be great. It could be Tinkoff API, Finam Transaq Connector or something else - if you dont'l like the idea of having two connectors for Quik for example.
But I'm not confident in the future of both of them)).
So connector for Russian something from WL7 creators would be great. It could be Tinkoff API, Finam Transaq Connector or something else - if you dont'l like the idea of having two connectors for Quik for example.
As Transaq has a very limited user base, it's not something to spread our very limited manpower on.
Re: Tinkoff, I believe you guys were developing it?
https://www.wealth-lab.com/Discussion/Create-New-DataSet-from-History-Data-Provider-5749
QUIK remains the only candidate so far.
P.S. No more "Coming up: a broker provider" in the extension description. It was a bit premature to put a note there.
Re: Tinkoff, I believe you guys were developing it?
https://www.wealth-lab.com/Discussion/Create-New-DataSet-from-History-Data-Provider-5749
QUIK remains the only candidate so far.
P.S. No more "Coming up: a broker provider" in the extension description. It was a bit premature to put a note there.
The author of that topic was playing with Tinkoff API - not sure if it will come to the real BrokerConnector, SDP, HDP.
i can send you source code of my quik side server code, but it's written with C++/Qt. Also i can send you my started code for connector. I started, but can't find free time to finish, and i'm affraid will be busy whole summer. And perhaps i can help with finishing quik side server, but C# is not native language for me, and there is some problem with naming and history. I started writing downloading history from finam, because there is no way to get history from quik, but different naming makes it complicated.
Hm, I am sure I saw at least 5 likes. What's going on?)
You can add likes - and remove them.
I've removed my vote.
That is fair that the team has this impact, even if it has more direct way of doing this - ignoring these ratings)).
QUOTE:
You can add likes - and remove them.
I understand that).
We also have the option to Decline a Feature Request. We would do that before ignoring one.
You are breaking my heart)).
I prefer honest communication rather than ghosting. :D
In the spirit of avoiding ghosting, I've removed the votes of a few users who just registered (or logged in from years of lethargy) to bump up this request. Shame on you.
I see a stone in my garden ))) I did not return for the sake of the husky in general, but one thing does not interfere with the other. Your right...
Shame on me?) Shame on you!)
I told Russian traders about Wealth-Lab 7 and its features including live trading feature, and the way traders can make live Russian markets trading feature possible. About how much live trading using WL7 will cost comparing most common Russian product TSLab and so on.
What do you think, does the way you did it increase users' loyalty?))
I told Russian traders about Wealth-Lab 7 and its features including live trading feature, and the way traders can make live Russian markets trading feature possible. About how much live trading using WL7 will cost comparing most common Russian product TSLab and so on.
What do you think, does the way you did it increase users' loyalty?))
Oh I can smell me right now again banned for another 5 years )))
Eugene let’s restore those votes, I see no reason to remove users’ (or prospects’) votes.
Peace for all
I don’t understand something - I paid you for your product, but I cannot use it for real trading with any of the Russian brokers. I can only test my strategies on history. Then you fundamentally change the system, which forces me to spend new time and money on mastering your product. And with all this, you want to regulate my right to vote for the need I want? Guys, maybe you shouldn't use the practice of political election commissions? Why do you need our opinion at all? Have you made any conclusions at all from what happened to your product?
Many questions here!
>>And with all this, you want to regulate my right to vote for the need I want?<<
I don’t want to regulate your right to vote. I asked Eugene to restore your vote.
>>Guys, maybe you shouldn't use the practice of political election commissions?<<
All this is is a way to gauge customer and prospect interest. It’s a tool to guide our development, we are not promising to slavishly follow these votes. Well do our best to follow these votes but we will take each feature on a case by case basis.
>>Why do you need our opinion at all?<<
How else can we know what most of the users would like to see. And thus what to focus on?
>>Have you made any conclusions at all from what happened to your product?<<
I don’t understand this question, can you clarify?
>>And with all this, you want to regulate my right to vote for the need I want?<<
I don’t want to regulate your right to vote. I asked Eugene to restore your vote.
>>Guys, maybe you shouldn't use the practice of political election commissions?<<
All this is is a way to gauge customer and prospect interest. It’s a tool to guide our development, we are not promising to slavishly follow these votes. Well do our best to follow these votes but we will take each feature on a case by case basis.
>>Why do you need our opinion at all?<<
How else can we know what most of the users would like to see. And thus what to focus on?
>>Have you made any conclusions at all from what happened to your product?<<
I don’t understand this question, can you clarify?
QUOTE:
I don’t understand something - I paid you for your product, but I cannot use it for real trading with any of the Russian brokers. I can only test my strategies on history. Then you fundamentally change the system, which forces me to spend new time and money on mastering your product. And with all this, you want to regulate my right to vote for the need I want? Guys, maybe you shouldn't use the practice of political election commissions? Why do you need our opinion at all? Have you made any conclusions at all from what happened to your product?
Alexey, I think it's OK now, votes were restored. We are now in TOP3).
QUOTE:
I don’t understand something - I paid you for your product, but I cannot use it for real trading with any of the Russian brokers. I can only test my strategies on history. Then you fundamentally change the system, which forces me to spend new time and money on mastering your product. And with all this, you want to regulate my right to vote for the need I want? Guys, maybe you shouldn't use the practice of political election commissions? Why do you need our opinion at all? Have you made any conclusions at all from what happened to your product?
You obtained a license for the backtesting application (that is how WLD6 was advertised) from our Russian reseller Mr. Chechet. It came with his value added solution which includes integration with Russian brokers that he has developed. His customers can use WL6 for live trading.
Your voice hadn't even been deleted yesterday because today you've logged on to the new website for the first time.
Could you clarify what's happened to our product to help draw proper conclusions?
Tell me, is it planned to broadcast all events from Quik to WL via the intended connector?
If the connector implies only trading operations without the ability to track Quik events. Then it will be a bad connector. The slightest emergency situation and the consequences of the work will be unpredictable.
If the connector implies only trading operations without the ability to track Quik events. Then it will be a bad connector. The slightest emergency situation and the consequences of the work will be unpredictable.
We just activated this request so it’ll go under development! Eugene decided to begin work on this but we will also reach out to Igor who created the Russian extensions for WL6 to see if there’s any interest in collaborating.
QUOTE:
We just activated this request so it’ll go under development! Eugene decided to begin work on this but we will also reach out to Igor who created the Russian extensions for WL6 to see if there’s any interest in collaborating.
Really-really glad to hear that! Thanks a lot!
I hope this connector will not only satisfy existing customers but attract many new users.
I also hope Eugene is not angry with liveTrading-hungry Russian hacker-traders trying to hack wish-list) – we did not do that).
He's more worried about piracy in general, based on some past experiences he related to me. But let's hope this drives legitimate customers like yourself, the support is very much appreciated!
QUOTE:
He's more worried about piracy in general
Yes, I know about this problem too.
How is it going?)
The only feature request, I can't help asking this).
The only feature request, I can't help asking this).
Here's a sneak peek preview. Using QUIK Junior (paper trading), first a stop order in SBER is placed, then a limit in LKOH which gets cancelled, finally the SBER position is liquidated at market.
Note that there's still a lot of subtasks to complete before it will be released.
Note that there's still a lot of subtasks to complete before it will be released.
Interesting that the orders do not go into Active state.
Oh, I love it! It's moving)).
No problem waiting at all. I mean I fully understand the amount of work needed.
Thanks for the update!
QUOTE:
Note that there's still a lot of subtasks to complete before it will be released.
No problem waiting at all. I mean I fully understand the amount of work needed.
Thanks for the update!
Thanks for the release.
But let's start with bugreports).
First of all, my connector settings:
Now another screenshot:
1. I used SVU1 and SILV-9.21 (these are two name for the same symbol I can see in Quik, it is Silver futures) but connector does not recognize both.
2. I tried SBER this time (stock, you know). Placing order. Status is "placed" but I got error. So wrong status, I guess.
3. When trying to place SBER order I always get “Неверный код клиента”. I tried all four accounts I can choose here all with the same result:
The same four as here in Quik:
When I send manual orders in Quik, there are two fields:
Maybe connector has lack of info for successful sending.
But let's start with bugreports).
First of all, my connector settings:
Now another screenshot:
1. I used SVU1 and SILV-9.21 (these are two name for the same symbol I can see in Quik, it is Silver futures) but connector does not recognize both.
2. I tried SBER this time (stock, you know). Placing order. Status is "placed" but I got error. So wrong status, I guess.
3. When trying to place SBER order I always get “Неверный код клиента”. I tried all four accounts I can choose here all with the same result:
The same four as here in Quik:
When I send manual orders in Quik, there are two fields:
Maybe connector has lack of info for successful sending.
Btw, I realised that you are making a Broker Provider only. And working well broker provider is great for Daily signals trading and some manual stuff, but is not enough for live trading. So do you have any plans for Quik Streaming Provider?
Do not use the QUIK provider yet! At least with the "Override..." option enabled. After its release I discovered a pesky bug which could make it reverse a position into the symbol of a wrong class. Hence no announcement yesterday. We plan to release a hotfix later today.
Thanks for being avid problem reporter :) I'll check the Silver futures today in a live account. Have you tried unchecking the "Override..." option, does it make difference?
You can create a feature request for QUIK streaming provider, of course.
Thanks for being avid problem reporter :) I'll check the Silver futures today in a live account. Have you tried unchecking the "Override..." option, does it make difference?
You can create a feature request for QUIK streaming provider, of course.
I see), now I get the idea of this silent release).
The symbol code that you should use is SVU1, not SILV-9.21:
https://www.moex.com/ru/contract.aspx?code=SILV-9.21
Here is a Finam provider screensot featuring the correct symbol:
https://www.moex.com/ru/contract.aspx?code=SILV-9.21
Here is a Finam provider screensot featuring the correct symbol:
I tried both:
Cannot determine class code for symbol SVU1.
My settings for the provider you can see above - all checkboxes needed are checked I guess.
Cannot determine class code for symbol SVU1.
My settings for the provider you can see above - all checkboxes needed are checked I guess.
OK I found one more issue that prevents determining the correct security class. Please wait for Build 7 with a fix later today.
On a related note, the button to the right of "Configure" in the Order Manager can be used to set up symbol mappings (Regex is supported). For example, you could convert "SILV-9.21 (SVU1)" by MFD historical provider to a format accepted by QUIK e.g. SILV-9.21 (SVU1)=SVU1
Let's discuss your other issue ("Неверный код клиента") in a new topic.
Re: "ГИТ ао". You might have trouble with this higher risk stock with the provider right now if "Override..." is enabled. Let me also make it possible to trade such stocks in Build 7:
https://www.moex.com/ru/issue.aspx?code=GRNT
On a related note, the button to the right of "Configure" in the Order Manager can be used to set up symbol mappings (Regex is supported). For example, you could convert "SILV-9.21 (SVU1)" by MFD historical provider to a format accepted by QUIK e.g. SILV-9.21 (SVU1)=SVU1
Let's discuss your other issue ("Неверный код клиента") in a new topic.
Re: "ГИТ ао". You might have trouble with this higher risk stock with the provider right now if "Override..." is enabled. Let me also make it possible to trade such stocks in Build 7:
https://www.moex.com/ru/issue.aspx?code=GRNT
Thanks! Low liquidity stocks, including these higher risk stocks trading is much appreciated.
Russia Build 7 is live!
Thanks! Installing...)
The futures recognition problem is gone.
So, I put some money to my non-"ИИС" account and I can now trade futures there (extension version 8), still get "Неверный код клиента" when trading stocks.
And I get "Cannot determine class code for symbol SIU1" when trading SiU1, I think it's because of "I" instead of "i".
QUOTE:
So, I put some money to my non-"ИИС" account and I can now trade futures there (extension version 8), still get "Неверный код клиента" when trading stocks.
That's because the client code is not being transmitted to QUIK in build 8. I believe build 9 will fix this.
QUOTE:
And I get "Cannot determine class code for symbol SIU1" when trading SiU1, I think it's because of "I" instead of "i".
No, you should choose the appropriate account for futures.
QUOTE:
No, you should choose the appropriate account for futures.
I used the same account for AFU1 and SiU1 and it works for AFU1 and doesn't for SiU1 ("Cannot determine class code for symbol SIU1").
I retested production builds (Russia 8 and WL7 11) and also the upcoming ones (Russia 9 and WL7 12) and the class code for SiU1 was determined correctly (SPBFUT according to QuikSharp, it's the correct class).
I don't know what to say). The only Idea still is to wait for WL7 build 12 and Russian extension build 9).
You're right in that case does matter and the symbol name must be SiU1 because SIU1 fails, though. The Order Manager doesn't support mixed case currently, making it send orders with SIU1 being the symbol name (which will predictably fail).
But will it work when using sending orders from strategy code,?
And is there something you can do or even going to do to change this?)
And is there something you can do or even going to do to change this?)
The tests I ran were performed from strategy window where it worked. Changing the Order Manager to support mixed case symbols in its symbol entry field in WL7 is for sure beyond the scope of this topic.
QUOTE:
I don't know what to say). The only Idea still is to wait for WL7 build 12 and Russian extension build 9)
Make sure to keep the WealthLabRussiaBuild8 installer before upgrading. Just in case you'd need to revert.
QUOTE:
Make sure to keep the WealthLabRussiaBuild8 installer before upgrading. Just in case you'd need to revert.
Done. Thanks.
fyi, Build 9 of the Russia extension is out.
Got it, thanks, Eugene.
Great! I can now trade stocks).
But if order cannot be placed because Quik says: “Скорректированное значение НПР1 618000 (RUB) меньше 0” the order is not placed, but the status is Placed in Order Manager. To reproduce – you must send the order with not enough money I guess.
I can “kill” orders now (means just “delete”) – but it is not of the normal workflow, I think.
But if order cannot be placed because Quik says: “Скорректированное значение НПР1 618000 (RUB) меньше 0” the order is not placed, but the status is Placed in Order Manager. To reproduce – you must send the order with not enough money I guess.
I can “kill” orders now (means just “delete”) – but it is not of the normal workflow, I think.
Glad to see you're up and running!
You can expect that some errors may result in an order left in limbo (or in fact not placed) while attempting to cancel would just mark it with CancelPending. "Kill" removes them, right. As for this error, it may be a temporary condition or an error on the broker side as they say:
https://forum.quik.ru/messages/forum1/message53703/topic6335/
https://smart-lab.ru/vopros/664946.php
You can expect that some errors may result in an order left in limbo (or in fact not placed) while attempting to cancel would just mark it with CancelPending. "Kill" removes them, right. As for this error, it may be a temporary condition or an error on the broker side as they say:
https://forum.quik.ru/messages/forum1/message53703/topic6335/
https://smart-lab.ru/vopros/664946.php
I have no enough experience with WL7 trading (sending real orders), so I can’t say is it ok or not for the workflow. I tried different cases of not successful order sending – they all have status Placed in WL7 and have no orders placed in Quik, cases: “market is closed”, “market orders are not allowed for the account”, “not enough money”, “short trades are not allowed for the symbol” etc.
Let’s think aloud:
- As we do not still have real-time streaming for Russian market let’s talk only about Daily+ - so some kind of semi-manual trading.
- For example, I run “Run all Daily+ now”. My orders are sent to the market after that. And what I got – a see 25 orders in total (e.g.), let’s say 5 are Filled, and 20 are Placed. The question is: when will I find out that some (or all) of these 20 orders are not really in the order book? In one day? – It’s not OK as my reaction may be needed for some cases. So “in one day” does not look good for me.
- I think, order statuses in WL7 must certainly get this Quik feedback to make WL7 statuses “more real”.
Let’s think aloud:
- As we do not still have real-time streaming for Russian market let’s talk only about Daily+ - so some kind of semi-manual trading.
- For example, I run “Run all Daily+ now”. My orders are sent to the market after that. And what I got – a see 25 orders in total (e.g.), let’s say 5 are Filled, and 20 are Placed. The question is: when will I find out that some (or all) of these 20 orders are not really in the order book? In one day? – It’s not OK as my reaction may be needed for some cases. So “in one day” does not look good for me.
- I think, order statuses in WL7 must certainly get this Quik feedback to make WL7 statuses “more real”.
It's not about the "WL7 workflow" but rather concerns QuikSharp's error management. Sending an erroneous order (such as in excess of funds) should fail whereas errors just get eaten up silently. Probably it's designed this way to avoid deadlocks and improve performance. In lack of feedback from QuikSharp on error status, such orders stuck "placed" in the broker provider. Call this a limitation.
Russian traders say, that error code and the message are always returned in order callback.
I don't think that it's relevant because the provider does not and will not use QUIK callback functions. QuikSharp's SendOrder swallows exceptions. Thanks for trying to help though.
Why won't provider use callbacks if it can get provider work properly?
Not sure if my lingo is clear but I'll try to explain. Subscribing to order callbacks will not help because no order exists yet when you're hit with this kind of error response by QUIK. When that happens, QuikSharp just gets stuck in an infinite loop internally (but you don't have a chance to notice since it happens in an async task).
A kludgy workaround might be approached by tracking incomplete orders (TransactionReply) but I discard it as potentially unreliable, involved, and affecting the existing design. I will not open this can of worms for this non-critical issue.
A kludgy workaround might be approached by tracking incomplete orders (TransactionReply) but I discard it as potentially unreliable, involved, and affecting the existing design. I will not open this can of worms for this non-critical issue.
OK it turns out that tracking incomplete orders is much safer than I thought. Look forward to the "Placed" fix in Build 10 of the Russia extension!
Yippee!
Thanks!
Thanks!
I’ve detached other accounts (and now only one account is attached to Quik) and it looks like I can now reach the account I need. And that is a good news for me).
One thing I noticed: when I send stop order (from order manager), the trigger price and the limit price is the same.
So:
1. The order is of Stop Market type in WL7 (I guess), and Stop Limit in Quik.
2. The trigger price is equal to limit price – which is a bit useless is this stop limit trying to simulate stop market.
This comment also referes to this topic: https://www.wealth-lab.com/Discussion/Stop-Limit-order-type-do-you-have-or-are-you-going-to-add-one-6428
One thing I noticed: when I send stop order (from order manager), the trigger price and the limit price is the same.
So:
1. The order is of Stop Market type in WL7 (I guess), and Stop Limit in Quik.
2. The trigger price is equal to limit price – which is a bit useless is this stop limit trying to simulate stop market.
This comment also referes to this topic: https://www.wealth-lab.com/Discussion/Stop-Limit-order-type-do-you-have-or-are-you-going-to-add-one-6428
Glad you got it working. There is no pure stop order in QuikSharp so to emulate it, provider sends a stop limit order because it's the closest thing to a stop loss. What are you proposing the limit price to be set to? Are there any pitfalls or considerations for the various exchange sections (i.e. equities, derivatives, bonds)?
Actually, I don’t like stop market orders), because you can’t control the price. Traders say that quik provide this limits for the ticker for stocks and derivatives, don’t know about QuikSharp though.
My suggestions about it:
- To let trader set these values when configuring broker provider (something like default values are set beforehand, but a trader can reconfigure these values for his needs).
- I don’t like market orders at all, I would prefer something like 1-5 percent difference. It would be enough for most cases but will not let you have a huge slippage if something goes wrong.
About pitfalls, I think price limits for the ticker are tied to the previous close price, not current price, so if you are close to the limit, 0.5 percent could be too much at the moment, if you far away - 35% could be ok. The simplest way I think is to set it small (and let user configure this), or the more accurate one is to make it depending on all this real limits.
My suggestions about it:
- To let trader set these values when configuring broker provider (something like default values are set beforehand, but a trader can reconfigure these values for his needs).
- I don’t like market orders at all, I would prefer something like 1-5 percent difference. It would be enough for most cases but will not let you have a huge slippage if something goes wrong.
About pitfalls, I think price limits for the ticker are tied to the previous close price, not current price, so if you are close to the limit, 0.5 percent could be too much at the moment, if you far away - 35% could be ok. The simplest way I think is to set it small (and let user configure this), or the more accurate one is to make it depending on all this real limits.
You're making a good point that making the limit and stop prices equal kind of defeats the purpose. I'm not a fan of settings so the limit price will be a function of the instrument's price step enough to trigger the trade yet avoid a huge slippage. Fixed in build 10.
thanks!
Your Response
Post
Edit Post
Login is required