My approach. The core is the engine. - page 128

You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Shit, man, do you really not understand what's going on or are you trying to cut corners this way?
In any panel, the fundamental and most complicated thing is the display of consistency. If an order is open - it should be displayed, if it's not in the trade tab, it shouldn't be in the panel either. This is elementary and "very simple" conceptually. But to make it "very simple", the panel needs to be based on a state model. You have no such thing, but some local non-consistent curve database on strings stuffed into user objects:
And now you're trying to prove to us that there's no problem, that it's all been sucked out of thin air. That non-displayable orders in your table are fine. That the orders that are in your table, but which have long been closed in fact - this is also normal. And in general, everything is so normal and good, except that the number of positions is limited to 20.
You understand that the issue is the implementation of fixing the opening/closing of the order by in-house means. This is not part of the mechanism of the table itself. It is a USER mechanism!
Instead of criticizing the engine and the table's implementation, you'd better write a proper mechanism for fixing the order opening and closing.
And everything will work RIGHT!
4. If you write these order cycles correctly, then the table will work correctly....
I just forgot....
But that doesn't mean that the dynamic table itself doesn't work.
Man, the user must be familiar with the documentation, does he know what to put in what array and how to update it all? I asked you to write a fully working demonstration, which would be from your code to understand how and what is done and where and what is inserted, but you wiped my TOR and gave it back to me in the form of a crooked table!
I just feel a big pile of neglect in you, in your code and all the things you do, sort of for people, but when it comes to the specifics, the bullshit starts. Do one thing that is small but good and of high quality. You say that everything is simple to solve, elementary. But for some reason you have made a solution, in which there is nothing. What prevented you from doing all these simple chips in a fortnight?
Sorry for the negativity. It's just that you disappointed me. I was hoping to see more and better. Please fix your demo. Make it good, high quality, according to the request and without such words: "Yes it is elementary, it needs a tweak here". Suggest a solution out of the box, which could be protested.
Vasiliy, don't get emotional. I have never had any disrespect. I simply did not work with orders for a long time and have forgotten how to do it. But it is a user task.
But I will do it anyway. Since you find it so difficult...
Vasily, there is no need for emotion. I had no disrespect whatsoever. I just did not work with orders for a long time and forgot how to do it. But it is a user task.
But I will do it anyway. If you think it's so complicated...
Then do it. I don't find it so complicated, but I repeat, there is no documentation for your engine, and I don't know which array to update with what parameters. What I need is a demonstration in the form of a complete solution. This is the only way to understand what you are doing and how it works. That's exactly what I expected from you. When you create it, we will discuss technical solutions. And in general, take external criticism, even expert one, as a positive one, because negative feedback is usually more valuable than positive feedback.
I will explain how a dynamic table works:
1. When the buy/sell buttons are clicked, the signal goes to the External Connection file in the case block of the button itself.
You must know that a new row is opened automatically if a new ticket is sent to theE_Main_form_1__Price(ticket, OrderOpenPrice()); function.
If the ticket already exists, the desired row is selected AUTOMATICALLY and the new value is set there.
To close a row in the table call function E_Main_form_1_CLOSE_ROW___Orders_table(ticket);
The ticket means the row ticket.
I will explain how a dynamic table works:
1. When the buy/sell buttons are clicked, the signal goes to the External Connection file in the case block of the button itself.
You must know that a new row is opened automatically if a new ticket is sent to theE_Main_form_1__Price(ticket, OrderOpenPrice()); function.
If the ticket already exists, the desired row is selected AUTOMATICALLY and the new value is set there.
To close a row in the table call function E_Main_form_1_CLOSE_ROW___Orders_table(ticket);
Ticket means row ticket.
Peter, make a for loop in the timer that would go through the open orders and send changes in the list of orders to your table. Also, make sure that the profit of the order in your table also changes dynamically.
I will explain how a dynamic table works:
1. When the buy/sell buttons are clicked, the signal goes to the External Connection file in the case block of the button itself.
You must know that a new row is opened automatically if a new ticket is sent to theE_Main_form_1__Price(ticket, OrderOpenPrice()); function.
If the ticket already exists, the desired row is selected AUTOMATICALLY and the new value is set there.
To close a row in the table call function E_Main_form_1_CLOSE_ROW___Orders_table(ticket);
Ticket means row ticket.
This is a crooked implementation, and here is the answer:
Forum on trading, automated trading systems and strategy testing
My approach. Core - Engine.
Vasiliy Sokolov, 2019.01.09 13:33
Peter, sorry, but your work is not accepted, as what you have sent is a rare hack job. Sorry but I seem to be the only one who ran what you sent, and no one else will do the expertise apart from me.
So, in order, the assignment was as follows:
What I see instead:
Firstly, trades can only be opened in your panel by clicking the buy/sell button. If the position is opened through the standard window, the trade does not appear.
....
Suppose we have several dynamic tables.
The Connection Properties file will automatically print wrapper functions to work with these tables.
Here is an illustrative example. We have drawn a dynamicOrders_table table.
These are the wrapper functions we got:
Note: each wrapper has a dyn.table column name at the end of its name.
The specific element is not specified, onlythe Magic row.
That is, to set a new value in a cell of an existing row, you have to send its Magic and value.
To set a new value in a cell of a non-existent row, you have to send its magik and value. The row will be automatically created.
To destroy a row in the table, you have to call the wrapper with the wordsCLOSE_ROW
For example:
And pass in it the majik of the row you want to close.
That's it.
Peter, make a for loop in the timer, which would go through the open orders and send changes in the orders list to your table. Also make sure that the profit of the order in your table also changes dynamically.
Ok, I will write loops and code for working with orders, but I will give it to you to put it yourself, because I have already converted the engine to link through resources and am testing that. Right now I can't get the old link back, and I haven't finished the new one yet.
OK, I'll write the loops and code to work with the orders, but I'll give it to you to set it up yourself, because I've already redesigned the engine to communicate through resources and I'm testing that. Right now I can't get the old link back, and I haven't finished the new one yet.
Work with the version of the engine you attached as a demonstration.
That is, to set a new value in a cell of an existing row, you need to send its majic and value.
Seems simple to me. If your approach works as I think it does, then I don't see any problem with either a dynamic table or updating position values via a timer. Peter, why did you have to make a hump from the start?)