Competition. I will write an expert for free. - page 11

 
OZ0 писал (а) >>

Sergey, you must have meant on this thread (not on the forum).

I agree. This is your condition as you set the rules here.

That's why I opened a separate thread on MEM.

As far as I understand it, it's about the technical possibility to write a private message using the forum facilities (something like internal mail). In many forums this possibility is available, in mql4.com forum it is not.

And who connects with whom using their credentials - it's a private business of each and I in no way plan to regulate it in any way, including in this thread.

 
SK. писал (а) >>

As far as I understand, it's about the technical possibility to write a private message on the forum (something like internal mail).

That's exactly what I was asking about. Thanks, I thought I'd missed it again :)

 
SK. писал (а) >>

Working fine with your program on a real account. So far so good - I open on fast moves and thanks to the visibility and

excellent tools, I can quickly react to market movements. During the last week trading with your program was profitable.



I have some questions when I am studying the AT mode.

In order to get all the answers I propose you to implement the algorithm below, if the offer is still valid.



The algorithm is as follows:
___________________________________________________________________________________________
1. Distances between levels are set as external variables, for example:
0)Lev0 = 0;
1)Lev1 = 40; (i.e. this level is 40 points away from the previous one, etc.)
2)Lev2 = 40
3)Lev3 = 45
4)Lev4 = 55;

5)Lev5 = 60;
6)Lev6 = 65;
7)Lev7 = 75;
8)Lev8 = 80;
9)Lev9 = 85;

2. The volumes of the orders opened at each level are set as an external variable, for example:
0)Lot0 = 0.01;
1)Lot1 = 0.01;
2)Lot2 = 0.01;
3)Lot3 = 0.03;
4)Lot4 = 0.06;

5)Lot5 = 0.12;
6)Lot6 = 0.24;
7)Lot7 = 0.48;
8)Lot8 = 0.96;
9)Lot9 = 1.92;
3. In the form of an external variable, the number of level is set, which we will call - the level of protection inclusion, for example as follows:

Protect_Lev = 5; (Protect_Lev >= 1 & Protect_Lev <= 9)

4. Opening criteria:

4.1. NEW TRADING CYCLE (ТC)
4.1.1. According to the indicator value (any indicator at your discretion) and the value of the external variable:
Trade_Type = +1 - open TP only up
Trade_Type = -1 - open TP only down
Trade_Type = 0 - no new TP,
open order at
Lev (0):
- volume Lot (0)
- TP = external variable value
- SL = 0
4.1.2. For all i = 1 to i = Protect_Lev: limit orders
- volume = Lot (i)
- TP = at Lev(i-1)
- SL = 0
4.1.3. At the Lev(Protect_Lev) level, a stop order is set so that it triggers simultaneously with the limit order
of the same level
- volume = SUMM(i=0 to i = Protect_Lev):Lot (i)
-TP = 0
-SL = at the Lev(Protect_Lev - 1) level so that the stop order triggers simultaneously with the TP of the limit order
of the same level

5. Criteria for modification:
5.1. When any of the limit orders triggered at
Lev (i) levels (i = 1 to i = Protect_Lev),
the following order modifications shall be performed:
For all j = 0 to j = i - 1: TP(j) = OP(i - 1)
5.2. "Manual" movement of limit orders
5.2.1 When "manually" moving the limit orders set according to 4.1.2. at Lev (i) levels (i = 1 to i = Protect_Lev-1)
TP(i) should not change and the position of TP(i+1) should change in sync with the position of the limit order being moved.
5.2.2 When "manually" moving the limit order set according to 4.1.2. at the Lev level (Protect_Lev)
1. The TP(Protect_Lev) position shall not change
2. The stop order set according to 4.1.3 shall move synchronously with the limit order, and its stop level
shall not change
5.3. "Manual" movement of a stop order
When "manually" moving a stop order set according to 4.1.3. at the Lev level (Protect_Lev)
1. The stop position of this order shall not change
2. A limit order set in accordance with 4.1.2. shall move synchronously with the stop order, and the level of its TakeProfit
shall not change
5.4. The takeprofit position of the order of Lev (i)(i = 1 to i = Protect_Lev) level last triggered in the direction of TP
can change dynamically at any time depending on the value of int Last_Order_TP external variable.
The int_Order_TP external variable sets the percentage (<=100%) of distance between Lev (i) and Lev (i-1) levels
of a positive takeprofit of the order of Lev (i)(i = 1 to i = Protect_Lev).
The value int Last_Order_TP = 100% means the initial position of the take profit order of the Lev (i)(i = 1 to i = Protect_Lev) level:
TP(i) = OP(i - 1)
5.5. The location of the stop (or an order already opened to the opposite TP) of Lev(Protect_Lev) level
can change dynamically at any time depending on the value of int Protect_Order_SL external variable.
The int Protect_Order_SL external variable sets the stop of the stop order of Lev(Protect_Lev) and Lev(Protect_Lev-1) levels in percentage(<=100%) of the distance
Lev (Protect_Lev).
The value of int Protect_Order_SL = 100% means the initial position of the stop at the level of Lev(Protect_Lev), when
SL(Protect_Lev) is at the level of Lev(Protect_Lev - 1), when the stop order should be closed by the stop
at the same time as the limit order of level Lev(Protect_Lev - 1) at takeprofit, provided that this dimit order
TP(Protect_Lev - 1) = OP(Protect_Lev - 1)
5.6. The last order at the TP(i) level (i = 1 to i = Protect_Lev-1) may be closed at any time
when it reaches any profit. In this case, all limit orders at levels j = i+1 to j = Protect_Lev and
stop order at level Protect_Lev are deleted and all limit orders at levels
j = i to j = Protect_Lev are re-set according to the rules of clause. 4.1.2. and re-setting of the stop order at the Protect_Lev level according to the rules of clause 4.1.3. 4.1.3.
5.7. The stop order can be closed at any time when it reaches any profit. In this case it is necessary to set
a new stop order with the characteristics of volume, TakeProfit and Stop Loss according to clause 4.1.3. at the distance equal to the value of the external variable
int Protect_Order_DS from its closing price. Then its "pulling up" following the price should be organized.
Pulling up the stop order, monitor the Equity and Balance. If the Equity exceeds the Balance, all open orders should be closed
and the stop order should be removed.



NOTE: 1. The given algorithm works quite well. I have a working Expert Advisor based on it; some of the above
functions are done manually. The direction of the trading cycle is also selected manually based on the V.T.E. readings
The above settings of levels and lots provide up to 20 quid per day on the NZDUSD symbol.
The critical point in the algorithm is described in 5.7. The main thing here is not to rush and to wait for a flat.
And in general, it is necessary to "get the hang of it"
2. Of course, when implementing this algorithm in SK system, some changes are possible as far as

To set values of external variables.

______________________________________________________________________________________________________________________

Sincerely - S.D.

 
SK, Sergey, we need a simple and clear instruction on programming functions with trading signals. Only without a lot of links to incomprehensible things. The whole manual may be a dozen sentences at most. The people are asking, and the product is yours, you must be directly interested in it.
 
Integer писал (а) >>
SK, Sergei, we need a simple and clear instruction for programming functions with trading signals. But don't provide a lot of links to unintelligible things. The entire manual may be a dozen sentences at most. They ask people, and the product is yours, they must be directly interested in it.

I understand perfectly the meaning of what you are writing about. But it doesn't work that way.

--

In neutral waters near an American cruiser, an unmanned submarine dives out.

Bosun comes out: "Hey, on the cruiser, give me directions to Africa."

From the cruiser: "North North West 234... longitude..."

Bosun: "No, you show me with your hand where you're going."

--

That's not gonna work.

=============================

As for custom codes for AutoGraf 4.

There are two functionalities.

.
1. User transfers algorithm in MQL4 from his EA to automatic trading function with predefined name AG_AT.ex4

How it works is very easy to understand. Take a look at the schematic at http://autograf.dp.ua/Pages/2/26/267/2671.htm

The lower blue arrow goes from the custom AT auto-trade function to the server. It means that the code written by a user in this function is executed simply by the rules of execution of MQL4 codes. This means everything that can be done in MQL4 is available there: orders can be opened, closed and modified, graphical objects can be set, technical and custom indicators can be used.

In this part the programmer does not need any advice from me. All functions of MQL4 are at your service.

The only thing to keep in mind is that AG_exp.ex4 expert is looped, and it is applied approximately 200 times per second. At each iteration, the AG_AT.ex4 function is called. I.e., not every tick, but between ticks.

.

2. it is possible to control the AutoGraf 4 tools from the custom function AG_AT.ex4.

How to do it is impossible to describe in one word.

The application uses a 4-dimensional array that is available for analysis in the AG_AT() user-defined automatic trading function.

The peculiarities of installation and removal of each tool are described on the website. For each tool, an example of how to use it is given. There are detailed comments in the codes. The examples are installed on the user's PC during the installation. To see how the example works, you just need to take a file from the subdirectory \experts\libraries\Example_AT and put it in the directory \experts\libraries instead of the one that is already there. And then switch it on and see how it works. You can do it in the tester in visualization mode.

==

I'm very interested in communicating to every user-programmer how this works.

As for Sart's suggestion, I need to think about it. So far, it's clear that it can't be implemented in this form - no one will understand anything there. We need something simpler. I'll think it over for a while.

 

The joke was Zuid-Zuid-West and the correct answer was - Don't zuid me, point your finger. Something was found out:

Нижняя синяя стрелка идёт от пользовательской функции автоматической торговли АТ на сервер. Это значит, что код, прописанный пользователем в этой функции, исполняется просто по правилам исполнения MQL4 - кодов. Это значит, что там можно всё, что можно в MQL4 - открывать, закрывать и модифицировать ордера, выставлять графические объекты, использовать технические и пользовательские индикаторы.

In this part the programmer doesn't need any advice from me. All the features of MQL4 are at your service.

It's not clear, then what is the involvement of your program in this?


Perhaps, I am interested in the upper arrow going to the analytical unit. What are the functions of the analytical block? What are the functions of the trading block? The analytical and trading block descriptions on the page was not found, I found some links throughavascript, but in my browser they are glitchy for some reason.

There can only be one automatic trading function? How is it possible to change its parameters? Where must the file AG_AT.ex4 be located?

How to do it is impossible to say in one word.

Then write a manual or do you suggest that you must necessarily install AutoGraf on your computer, and rake through all the code of its thousands of files?

The peculiarities of installation and removal of each tool are described on the site.

What do you need it for? (for me). You need a concrete and concise description of the interface of these tools to interact with them from AG_AT.

 

>> Unclear, then, what is your programme's involvement in this ?

The involvement is obvious:

1. The user at his discretion can enable or disable the execution of the AT algorithm at any time.

2. The user can manually interfere in the trading process at the same time with the execution of the AT algorithm.

3. User can install and remove tools that will run concurrently with the AT execution.

.

>>I guess I am interested in the upper arrow going to the analytical unit. What are the functions of the analytical block? What are the functions of the trading block?

The analytical and trading blocks are conditionally shown in the scheme only to show the role of AutoGraf 4 modes.

The group ofanalytical functions is intended for supporting the program operation. In particular, the purpose of some of them is:

1. enforcing requirement and permission rules when tools are installed. For example, on StopLoss it is impossible to set tools 1, 2 (Pull Up and Pull Down) to run simultaneously. This is not technically feasible. If the user tries to do this, a new instrument is set and the old one is deleted.

2. Analyse the need to display messages to the user.

3. Analysis of user actions. Refusal to execute incorrect user actions.

4. Execution of control actions of a user.

5. Forming trade orders according to current trading conditions.

Functions of a trading block are also obvious:

1. Maintaining trade operations - sending orders to the server and error analysis.

2. In general, the trading block implements trading based on the trading priorities described here:

http://autograf.dp.ua/Pages/2/26/264.htm, here http://autograf.dp.ua/Pages/2/26/262.htm and here http://autograf.dp.ua/Pages/2/26/263.htm.

.

>> found some links via javascript, but they are glitching in my browser for some reason.

Please give me a link to the glitchy page (site was checked for IE, Opera and FF).

.

>>Can there only be one automatic trading function?

Yes. There are plans to expand the number of functions used.

.

>>How can you change parameters of this function?

The parameters of a single function cannot be changed during operation. The parameters are chosen at the design stage.

This question is to be discussed. Technically, it is possible to enter parameters as external variables of AutoGraf and pass them to AG_AT() via arrays. But this approach has disadvantages - how many of these parameters should be there is not very clear. Another option is custom: you can enter parameter changes via a script and global variables of the cl.terminal.

Anyway, it must be taken into account that it is impossible to display the settings panel of a separate function using MQL4 tools.

.

>>Where should AG_AT.ex4 file be located?

It is written here http://autograf.dp.ua/Pages/2/26/267/2672.htm. Just read it.

.

>>Then write the instruction.

>>That's how it's done. The whole site is the detailed instructions. Specifically:

1. Each tool is presented on a separate page. For each tool, there are rules for permissions, restrictions and requirements. (e.g. an intrument sound level cannot be placed on an order; an order line pull cannot be placed on the playing field; a limiting tool requires an accompanying pull - a limiting tool). Section AutoGraf 4 >Tools.

2. The entire contents of AutoGraf 4 > Manage Orders > AT function is exactly what you are interested in.

3. For each tool you can find an example of its use AutoGraf 4 > Order Management > AT Function > AG_AT Function Examples.

.

>>Why? (to me). You need a concrete and concise description of the interfaces of these tools to interact with them from AG_AT.

Without that, you can't make up the code to control the tools from a user function.

 
Integer писал (а) >>

The joke was Zuid-Zuid-West and the correct answer was - Don't zuid me, point your finger. Something has come up:

It's not clear, then, what is your programme's involvement in this?

What is it for? (to me). You need a concrete and concise description of the interface of these tools to interact with them from AG_AT

You seem very energetic...
In my opinion, everything is quite simple in principle:
Your program receives these variables as input -
int Parol_AT,
double Order[][],
string Object[],
double Instrument[][][],
int Ddraw_Object[][],
double& Tuning[],
double& Manager[][],
string& Message[] )
Here variables without impersand are input, they display the current state of trading,
with impersand are output and with their help you form orders management commands (rather macros) for the autograph,
which it executes.
Thus, the autograph's role is as follows:
1. It sends the current state of trade to your program in a very convenient for analysis form
2. You analyze this current state in your programme and form working commands (macros)-control actions for the autograph,
which the autograph fulfils as soon as it receives control back from your programme.


For example, an autograph
independently finds all orders and records all their characteristics in a digestible matrix form double Order[][].
Each row of this matrix represents an order. The columns in that line represent the order characteristics.
You may find, for example, an order you are interested in by its Magic_Number column and, if necessary,
, for example, set a trailing stop (with the necessary characteristics) for that order.
To do that use the
function
int AG_Set_Instr(double& Manager[][], int ii, double v1, double v2, double v3,
double v4, double v5, double v6, int Ticket , int ih)
You must set the required instrument for this order and the auth will trace it by itself. All such tools have numbers 1, 2,...

Naturally, in order to work you must:
1.Study the instruments you are interested in
2. study structure of all input arrays

In principle, it is true that Autograf, by executing tools and tracking the current state of trading, takes upon itself the entire technical part of writing an Expert Advisor.

You can talk about complex data structures, but, in my opinion, these structures are designed in a very smart and natural way.

When writing EAs myself from scratch, so to speak, I, for example, often approach the design of such data structures myself, and I'm not the only one.

Regards - S.D.

 

Sart:

На:


I too think it's simple, but so much rhetoric that you can't see the forest for the trees. One question and a bunch of references in reply.

SK:

The parameters of an individual function cannot be changed during operation. The parameters are selected at the design stage.

Beyond praise!!! And where to put it? .... "Hussars be silent!" (© Lieutenant Rzhevsky)

The analytical and trading block is shown on the diagram conventionally

Is there anything in there specifically, not conventionally?

In fact, there is so much text and so little sense, maybe you should buy a hand expander - to stretch fingers to write only on the essence. Again, for the 555th time you have listed all the functions. The person has nothing to do with this development and even replied, clearly and concisely (Sart). Everywhere you turn, you see almost the same text.

To delete or close one or more user-defined orders, the relevant order lines should be highlighted with the mouse and the Delete key should be pressed.

How does this work? Just delete the line and the order will be closed immediately? Am I making a mistake? Maybe it would be better to sit on the bomb then?

 
Integer писал (а) >>

How does that work? Just remove the line and the order closes immediately? Am I making a mistake? Wouldn't it be better to sit on the bomb then?

On Wednesday, as if, I wanted to delete the vertical line and mistakenly highlighted the sell order line for the euro. Pressed Delet, the order closed and the line was deleted.

The order was in a small loss, I gave up and went for a smoke. I came back in 10 minutes, and euro was already down 100 p.


But in general, I must say honestly and frankly, I think that SK toolkit is great. With a little bit of hands on it is simply impossible to lose.

I've even started to develop a new tactic of playing, which is impossible to implement without this kind of toolkit very quickly reacting to market movements.


I am not saying anything about AT mode, I haven't studied it in details. Although, the first thing I've noticed (and so will you):

"Parameters of a single function cannot be changed at runtime. The parameters are selected at the design stage."

The password is transmitted, but the parameters are not. You could at least provide a string variable, and it's not a problem to understand the string,

especially since the Trader's dialogue with the AT program is provided.

Reason: