Experts: Martin - page 2

 
Vladimir Karputov:

I have the exact opposite experience. ...

You should have just said that your opposite experience is your lack of experience.

In such cases, usually on the forum and in personal correspondence, they ask about the best way to do it and how to do it right.

And you present it all as the only true and correct solution, which is not, unfortunately.


If time is used in an Expert Advisor as a function for limiting the EA's work, then if it is written correctly, setting the time "-1" or "25" hours will have no effect on the EA's work and will be interpreted by the EA as "no limitation" on time.

but when optimising hours, the step is necessary, because there is a difference between optimising "every hour", "every four hours", etc.

 

if you set it:

input int InpStartHour               = -1;           // Start hour
input int InpEndHour                 = 25;           // End hour

with such a record the EA will not work correctly?

 
Andrey F. Zelinsky:

You should have said straight away that your opposite experience is the missing experience.

In such cases, usually on the forum and in personal correspondence, they ask how to do it better and how to do it right.

And you present it all as the only true and correct solution - which is not, unfortunately.


If time is used in an Expert Advisor as a function for limiting the EA's work, then if it is written correctly, setting the time "-1" or "25" hours will have no effect on the EA's work and will be interpreted by the EA as "no limitation" on time.

But when optimising hours, a step is necessary, because there is a difference between optimising "every hour", "every four hours", etc.


What can be said here? The author is free to write code to his taste. I, for example, use enum for time and find this way very convenient. And in general, an ideal Expert Advisor is one that has no input parameters :) .

 
Andrey F. Zelinsky:

if you set it:

will the Expert Advisor not work correctly with this entry?


Yes, it will immediately throw out with an error. Since there are no such hours "-1" and "25".

And if the user enters "125" during optimisation? It will be a hundred extra (or discarded) passes. And if there are several such parameters and each one has an error? Then it's a hundred * a hundred * a hundred * a hundred = the whole optimisation will go down the drain, because it will be full of rejections.

But with enum this cannot happen a priori. There will be at most 24 passes for a clock.

 
Vladimir Karputov:

Yeah, it'll throw you right out with an error. Because there are no such clocks "-1" and "25".

And if the user enters "125" during optimisation? It will be a hundred extra (or discarded) passes. And if there are several such parameters and each one has an error? Then it's a hundred * a hundred * a hundred * a hundred = the whole optimisation will go down the drain, because it will be full of rejections.

But with enum this cannot happen a priori. There will be at most 24 passes for a clock.


Are you seriously writing all this now?

You can't remove an erroneous overrun in OnInit()?

You have to sacrifice the optimisation step.

I've estimated that you have published 10% of the codes in the codebase.

There is such a German proverb (I searched for the equivalent of a well-known Russian proverb on purpose so that I wouldn't pick on it):"Blind diligence only hurts".

 

From time to time the Expert Advisor opens (when running on history) several dozens of identical orders at the same price for the entire free margin, and in the end it fails. What is the reason for this?

 
rfarr:

From time to time the Expert Advisor opens (when running on history) several dozens of identical orders at the same price for the entire free margin, and in the end it fails. What is the reason for this?


This is the logic: if there is a position and its profit is more than zero and it is possible to open by time - another position is opened in the same direction. And it can be on every tick. It can be limited if

  1. get away from working on ticks and work only once at the moment of a new bar's birth.
  2. introduce a limit on the number of positions
  3. introduce a minimum time from the opening of the last position in a given direction - a kind of a pause

 
pls update this EA Mr Vladimir, it has potensial.
 
can you add pip step range for new open position when multiplier?
 
DICKY YANIHANDY WIDJAYA :
can you add pip step range for new open position when multiplier?

No.