Errors, bugs, questions - page 2448

 
fxsaber:

Let's say you write EA manager. Now two identical EAs with different names cannot be recognised as the same.

For example, you need to determine if the EA and its clone have been run before.

Well, this happens when there are a lot of charts and EAs. And something is launched again by mistake.

If you have your own EAs, then you should have ID for EA type + function from build date for example and at start stage broadcast polling of EAs running on all or current chart. It works without any questions.

 

The trading history is displayed not quite conveniently if the partial closing of the position occurred by a pending order which was placed before the opening of the trade.

2019.04.25 at 10.01.00, a position was opened in the market with the volume of 8 lots, which was partially closed by 1 lot at 10:04 - the report is not informative in this form.

It would be more reasonable to give information starting from the date of the first trade by selecting orders forming and changing it, at least as an additional variant of the report for the convenience of perception.

I paid attention to it because I often could not understand why a partial closing took place - I did not have time to remove the pending order before the market closed yesterday.

 

Something has been broken in the debugging on the historical data. Now every time the debugging is started, the EA parameters are changed to default, if they were changed manually.

In the code

 input int Magic = 1; // Magic number

In parameters changed (please ignore the typo.)

after start of debugging on history data value is reset to default.


 
Nikolai Semko:

Andrey, I don't understand about the profiles.

Profiles are like sets for a whole herd of EAs.

You can change some parameter in them by searching and replacing across all profile files (there are utilities for this).

Primitive manager, allows to run several EAs at once.

 

guys, help, please)

created a panel and a button in it, but something is wrong, the button shifts along one of the axes at the top, but follows the panel.

i.e., you either need to do a proper binding angle bind or you're missing the right command to bind the button to the panel...

 

What kind of software is it that uses only foul language?!

Everywhere you look, everything is through the spare wheel!

I decided to download MT5 and try to create my own symbol (such a function is announced)... Damn, I took a CSV of futures and decided to pull it... This handy creation for some reason puts volume in CLOSE, which it eventually swears at itself: closing price is higher than high. How can you explain this software, that this is a volume column, when there's no buttons or fields to choose! How could the CSV import function not provide for an elementary thing?

 
xaser:

What kind of software is it that uses only foul language?!

Everywhere you look, it's all through the spare wheel!

I decided to download MT5 and try to create my own symbol (such a function is announced)... Damn, I took a CSV of futures and decided to pull it... This handy creation for some reason puts volume in CLOSE, which it eventually swears at itself: closing price is higher than high. How can you explain this software, that this is a volume column, when there's no buttons or fields to choose! How could they not provide for elementary things in CSV import function?

You have several mistakes in your code.

Why blame the mirror...


 

(MQL4) please advise what code should be in this case to close all open positions by pressing the button? (open orders work from this code).

Or maybe it should be done separately through Void or some other command?


         
         if (id==CHARTEVENT_OBJECT_CLICK) {
       
         if (sparam=="buttonbuy") {
          OrderSend(Symbol(), OP_BUY, lots, Ask, 3, 0, 0, "Opened by Advisor", 0, 0, clrBlue); //add your buy order here
         } 
         if (sparam=="buttonsell") {
               OrderSend(Symbol(), OP_SELL, lots, Bid, 3, 0, 0, "Opened by Advisor", 0, 0, clrYellow); //add your sell order here
         }
         if (sparam=="buttoncloseall") {
            
                         
         }                                                                    
      }

  }
 

Please make it possible to assign aliases to each account in the terminal, so that instead of dry numbers of account numbers you could give them human names that would be displayed in the header of the terminal, for example:

"My favorite account."

"Trump investor account."

"The Martin of Hell."

"I'm just messing around."

"Not ashamed of the signal."

"A signal to be ashamed of."


And then you won't get confused in the multitude of running terminals and accounts.

Aliases instead of account numbers

 
fxsaber:

The most basic thing is to give a hash of yourself. A path to the self is given. Hash - for some reason is clamped.

By the way, I support this really useful thing.I also often need version control of saved results in files, i.e. guarantee, that all files are created by the same program version. Now for this I have to take either compilation time or some version number, manually set (and thus not guaranteeing the identity). For example, if you change something in some includnik, it means that de facto new version of executable, and you must not forget to set a new version number, in general, it is not reliable.

Someone here advised to calculate hash from sources. So for this you need to know all sources (includniks), used by the program, which means you need to parse the code is not childish. They do not necessarily specified in explicit form (#include <file.mqh>), and can be set in the form of macros.