Select a symbol in the settings - page 4

 
Alexey Viktorov:

... "Who needs it???"

...There are enough people here who can also draw cartoons on the terminal chart.

Exactly! There are obvious trading things and then there are excesses.

People here complain that the terminal doesn't know the errors returned by the Moscow Exchange! (And have been complaining for years...).

Also there is a clear trading need to have a list of active pairs (at least from the market overview window) but this is not there.

There is no way to explicitly get a tick from a pair from the market overview window - you have to send some spies somewhere... (I know which ones and how, it's easy, but it's absurd)

Or there is no trivial possibility to sort out optimization results... Everyone who optimizes something has such a need all the time... (yes, excel is good, but it's not a terminal and it's inconvenient to transfer settings back. Even the possibility to copy a certain parameter from optimization results was removed.)

What's this all about!?

What for do I need the multicurrency in the terminal...? (or at least the potential possibility of multiples) when there's no obvious trading stuff!

Metaquotes no offence, but there's something wrong with the placement... is a fact of the matter. This is what I'm writing based on my experience of using mql5. If mql4 made me feel that trading functions have been added to C, in mql 5 both the language and trading functions have drowned in the maze of intra-terminal logic. Soon it will be like programming with api on windows...

But, imho, you have to get closer to life. And life is the needs of trading. For example, it's a great opportunity to open a deal in the terminal with one click! That's great.

I.e. you look across the screen, get the necessary information. Click with the mouse - open a position. Nothing unnecessary!

Why do I need to know how an order is gradually transformed into a position? This is not a trader's question, this is an internal issue! You don't give a command to the vessels to micro-compress after every heartbeat. And you don't give a command to the intestines how to work. In mql, all such intra-terminal issues are dumped on the programmers. And a lot of effort goes into it. And there are no obvious things.

And you want another fun fact? If you do all the processing correctly, some of which has already been described in articles, you won't find the trading algorithm in such a trading robot... This is serious! This is some kind of imbalance. So far, mql5 is a toy created by programmers for programmers... With impressive programming capabilities for programming's sake.

Well, okay, I think a lot of people have already told the metaquotes about it, so there's probably no point in writing. But impressions piled up... I had to voice them)). It's good for the nervous system)).

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 

OK, that topic was kind of incomplete.

So, I had to make the tester pick up a pair, in addition to other values.

And in order not to write a wild construction from manual writing of each pair and sea of variables, I was looking for a way to do this either by standard means or somehow shorter.

And here's the final variant - it may come in handy for someone... Which I wrote and it works.

1- In the market overview window, turn on all symbols and right-click - save. We get a text file with a list. In my case only forex was there, so if you have something else in there, add processing of that yourself...

2- Pairs from the file, insert them into the enum. In the declaration of Expert Advisor variables write:

enum Enum_Symbol {AUDJPY,AUDUSD,CHFJPY,EURAUD,EURCAD,EURCHF,EURGBP,EURJPY,EURRUR,EURUSD,GBPAUD,GBPCAD,GBPCHF,GBPJPY,GBPUSD,USDCAD,USDCHF,USDJPY,USDRUR};
input Enum_Symbol       SIMBOL_1          = AUDUSD;   // Выбор пары для ...
input Enum_Symbol       SIMBOL_2          = AUDJPY;   // Выбор пары для ...

...

That's it, the tester will be able to search characters from the list.

It is also convenient to select the pair from the drop-down list in the settings. Please note that in order to optimize, you need to install the entire list immediately into the program before the first compilation, because later added symbols might not be visible in the final optimization settings... This is such a "nuance". If any of the metaquotes read this - you can correct this error... Vigilant moderators will definitely read it...

There's also something to be added to OnInit:

int OnInit()
{
...
//--- подключаем символы для тестера 
for(int i=0;i<SymbolsTotal(false);i++)
   {
   string name = SymbolName(i,false);
   SymbolSelect(name,false);
   Print (" i = ", i,"     name = ", name);   
   }
...
}

In the program itself, getting the selected character into a string variable looks like this:

string SymbolCur = SymbolName(DoubleToString(SIMBOL_1,0),false);


Naturally, there are nuances, I bring the implementation to suit my purposes...

From manual operations, only one time (for each broker) saving text file and arranging commas in it, before copying to enum.

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Переменные должны быть объявлены перед их использованием. Для идентификации переменных используются уникальные имена. Описания переменных используются для их определения и объявления типов. Описание не является оператором. Индексом массива может быть только целое число. Допускаются не более чем четырехмерные массивы. Нумерация элементов...
 
Зачем мне знать, как там ордер превращается постепенно в позицию. Это не трейдерский вопрос, это внутритерминальный вопрос!
This is not a trader's question, but a software question. If you want to be a pure trader, stay out of programming and write your TOR for professionals. Most of the problems you complained about in the posts above have a simple solution.
 
Aleksey Mavrin:

Tell me about it!

If you are a programmer and came here to earn some money by programming - then unquestionably!

But if you have to describe an idea in the simplest way, then we have degradation! But I honestly don't want to discuss it. You yourself are well aware of this. And you write - defending your programming niche.

I put an application to freelance and I myself write... One does not prevent the other!

Oops)) And what would happen if I announced the results of freelancing)))) But Shhh Such things can not say out loud)))

And the metaquotes - in general, well done of course. You want to write it yourself. If you want - order it! Everyone is happy, both programmers and traders)) That's how it should be, they give opportunities to everybody with their activities.

Thanks a lot for a good story! They have more than enough to compensate for all the other screw-ups. But it would be nice to fix them too.

I would even recommend not to improve anything yet, and dopilit available.

But they know better))

 
Михаил:

Really, what is there to discuss if you save the characters to a file and copy them from there to the code before compiling.

And on the basis of such actions you speak about "shortcomings" of the terminal.

Nothing personal, you are just very weak as a programmer, I wish you grow and develop. Good luck!

 
Aleksey Mavrin:

What's there to discuss if you save the characters to a file and copy them from there to the code before compiling.

And on the basis of such actions you speak about "shortcomings" of the terminal.

Nothing personal, you are just very weak as a programmer, I wish you grow and develop. Good!

You misunderstood! I'm not a programmer, neither by job nor by education!

This does not prevent me from writing everything I need for microcontrollers, or for android, or on mql4 mql5. I even wrote in 16 code and assembler... Have you been writing) in code? In real, 16 riches codes? It's not a high-level language, you need to know how the CPU is set up and works...

Calling a local listing a code is a chuckle...

I don't need any tricks, straightforward optimal code. But in my code the logic is usually more complex than in others and it's more efficient. Although I can't compete with pro programmers, of course)) But it's their bread and butter, while for me it's just a second hobby. Not even my main hobby. I can weld thin metal with a welder and not burn it, I can write a program with a lot of things... design and assemble simple electronics... None of that is my job! )) I mean, I'm not interested in fitting into meaningless language rules, I'm interested in the result. And if you have to go to it in loops, that's too bad. It was easier in µl4. And I don't see any objective reason to make it more complicated.

As for the topic of this thread) Suggest a better solution.

The purpose I described - so that before running the program, you can select in the optimization parameters pairs from the list.

And also, so thatthe tester can go through the pairs- this is the main one!

Do not offer variants of kodobase specialists)) My solution is the top of elegance compared to kodobase solutions...

It's easy to criticise!

You said my implementation is bad! Suggest a better one. I'll thank you!

Because someday I'll come back to the multicurrency... maybe.

Or write: "I can't think of a better one - sorry!"

And yes - I don't take orders towrite programs, I don't eat programmers))
Как заказать торгового робота на MQL5 и MQL4
Как заказать торгового робота на MQL5 и MQL4
  • www.mql5.com
Главным преимуществом торговых терминалов MetaTrader является возможность создания автоматических торговых систем, способных совершать торговые операции без вмешательства трейдера, что позволяет исключить влияние психологии на результаты торговли. Для этого нужно сформулировать торговую стратегию и реализовать ее в виде программы на языке MQL...
 
Михаил:

You don't get it! I am not a programmer, neither by job nor by education!

That doesn't stop me from writing everything I need for microcontrollers or for android, or in mql4 mql5. I even wrote in 16 code and assembler... Have you been writing) in code? In real, 16 riches codes? It's not a high-level language, you need to know how the CPU is set up and works...

Calling a local listing a code is a chuckle...

I don't need any tricks, straightforward optimal code. But in my code the logic is usually more complex than in others and it's more efficient. Although I can't compete with pro programmers, of course)) But it's their bread and butter, while for me it's just a second hobby. Not even my main hobby. I can weld thin metal with a welder and not burn it, I can write a program with a lot of things... design and assemble simple electronics... None of that is my job! )) I mean, I'm not interested in fitting into meaningless language rules, I'm interested in the result. And if you have to go to it in loops, that's too bad. It was easier in µl4. And I don't see any objective reason to make it more complicated.

As for the topic of this thread) Suggest a better solution.

The purpose I described - so that before running the program, you can select in the optimization parameters pairs from the list.

And also, so that the tester can go through the pairs- this is the main one!

Do not offer variants of kodobase specialists)) My solution is the top of elegance compared to kodobase solutions...

It's easy to criticise!

You said my implementation is bad! Suggest a better one. I'll thank you!

Because at some point I'll go back to the multicurrency... maybe.

Or write: "I can't think of a better one - sorry!"

And yes - I don't take orders towrite programs, I don't eat programmers))

In case you're wondering, I dabbled with assembler in my student years too, but I seriously wrote only in C, C++, with SQL on Postgre. And it was only for my thesis, but the project was more or less serious, CAD system, whatever)

I am glad you are a versatile person) You know bibles in C and other languages are much more complicated than MQL5, it's much easier imho. You know, about your level - in your posts the issues were mentioned, the solution of which is simple, but you scolded the terminal and MQL, i.e. instead of learning how to do and develop, you scold the work of others, even if not without flaws, but such a hard work. This approach is alien and incomprehensible to me. But perhaps it was only an impression and I was mistaken.

As for the topic - I have already forgotten the nuances, and I am too lazy to read and digest. In short - if you want to make a search for all characters during optimization - then in OnInit by number, the input parameter is only the number of a symbol, two, three, as used in the owl.

If you manually select specific symbols to automate - then your solution is bad, because when you change broker with other symbols need to change the code. It's easier to manually enter two symbols. If you are too lazy to enter the symbols, you can enter their number in the market overview.

 
Aleksey Mavrin:

If you are too lazy to type in the characters - number them in the Market Review.

They are not in the Market Review tester until they are directly queried by name.


Michael:

You said my implementation is bad! Suggest a better one. I will thank you!

Combination of all known currencies in enum + suffix as string parameter?

 
Aleksey Mavrin:

As for the topic - I've already forgotten the nuances and am too lazy to read and dig into it.

Good conversationalist))) And you're judging me))

Your way... the numbers are a far cry from couples. It's inconvenient. And it's good if there are only a few pairs, but if you need all pairs?! And by the way, are you sure you don't need it?

Yes, you can find out how many pairs there are in the window and discard the extra values supplied by the tester... But it's already runs thrown down the pipe, i.e. less useful optimization options.

Plus, during optimization, you don't know on which pair the process is running. You need to open a window and count, count and count! You are not going to get bogged down?

In my case - just copy-paste, once for the broker and that's it...

Are you criticizing me?!

Either copypaste once and work freely, comfortably and clearly in the future, or constantly count the numbers in the market overview window... This is some kind of workaholism, on the flat ))))

Aleksey Mavrin
Aleksey Mavrin
  • www.mql5.com
Добавил тему Оптимизация. Граничные Условия Параметров Решаю задачку о автоматизации проверки стратегий, это типа как тут в соседней ветке описывалось, но по другому. Проблема :Разные стратегии имеют разный набор по кол-ву и типам оптимизируемых параметров. Решение:Нормировать все параметры к диапазону Добавил тему Вечерние размышления о...
 
Andrey Khatimlianskii:

Combination of all known currencies in enum + suffix as string parameter?

Yes, also an option, more illustrative than Alexey's. But the sets are different for brokers. Probably, there will be unused combinations, which will reduce efficiency of the tester...

Yes, and the currencies all need to find and score, it's harder than a one-time copying. Me personally)) I was thinking about this option.

Maybe someone else knows some other option)))

Reason: