Has anyone created a successful automated trading system? What is your advice? - page 14

 
Georgiy Merts:

Can you give me an example ?

I think it's just laziness to redo a dozen functions to adapt MT4 EAs to MT5.

In my opinion, any EA should have its own "internal" interface of all basic operations, which would not depend on implementation. Then "adapters" dependent on the environment are added to them. And then, if it suddenly becomes necessary to port the EA's code to a new environment, only a small number of these adapters shall be rewritten.

Say, I can easily port all my EAs (and there are over 700 of them) to, say, C++ or C# to be used in quite different EAs researching programs. All I need to do is to rewrite only these very adapters, which directly interact with trading environment.


I can't imagine the situation, when MT4 would be so handy for me, that I have to pull it with me... My "battle" Expert Advisors work on MT4 solely because the account is five years old, it was opened for MT4, and I care about history for popularity.

I don't want to argue. It's like in the song: my husband is good for everything, but he does not wrap a tube of toothpaste, while my neighbour drinks and smokes, but the tube is always wrapped in the bathroom.

Of course it is said that I am not a proger or a coder. And MKL4 is laid down in 2018 on 90's baceic and 70's fortan4.

If I need help with porting to 5 I'll be in touch)))

 
Valeriy Yastremskiy:

If you need help moving to 5, I'll be in touch))))

Metaquotes will help)

 
Georgiy Merts:

Can you give me an example ?

I think it's just laziness to redo a dozen functions to adapt MT4 EAs to MT5.

In my opinion, any EA should have its own "internal" interface of all basic operations, which would not depend on implementation. Then "adapters" dependent on the environment are added to them. And then, if it suddenly becomes necessary to port the EA's code to a new environment, only a small number of these adapters shall be rewritten.

Say, I can easily port all my EAs (and there are over 700 of them) to, say, C++ or C# to be used in quite different EAs researching programs. All I need to do is to rewrite only these very adapters, which directly interact with trading environment.


I can't imagine the situation, when MT4 would be so handy for me, that I have to pull it with me... My "battle" EAs work on MT4 solely because the account is five years old, it was opened for MT4, and I care about history for popularity.

you want an example, i have them :-)

find an Mt4 analogue of the iMAOnArray function (and other OnArray functions)

make your own EMA function that coincides with the terminal with high precision

answer the question StdDev is shifted or not ?

and that's not all and it's not about trading, just analytics. To the horror, you want data to be good, accurate and stable - write it in C, drag and drop via DLL.

As a whisker : the code for MT4 is just bluntly shorter. It's faster to write and less time consuming.

 
Maxim Kuznetsov:

you want an example, I have them :-)

Find an Mt4 analogue of the iMAOnArray function (and other OnArray functions)

make your own EMA function that matches with high precision what the terminal shows

answer the question StdDev is shifted or not ?

and that's not all and it's not about trading, just analytics. To the horror, you want data to be good, accurate and stable - write it in C, drag and drop via DLL.

As a whisker : the code for MT4 is just bluntly shorter. It's faster to write and less time consuming.

I don't see "bluntly shorter". All operations are practically the same. It's just that MT5 uses a trade class, while MT4 uses trade functions directly.


As for "find an analogue"... well, how can I say...

Find an analogue of MT5 function FrameFirst(), FrameNext() and other frame functions.

The function that would calculate the average or any other indicator in the array is very simple, you just substitute the array interface instead of the time series interface in the indicator class (both interfaces should be inherited from a common ancestor) - and that's all! Just one line.

And frames allow to process optimization results at runtime. Say, first we conduct optimization with forward system, using frames we select the one with the maximum sum of results obtained for a pass and forward, and then we start optimization of the same set of input parameters with additional checks for Breakeven. Try to do it all in MT4 !

"And it's not about trading cases, just analytics...."

Two reasons why it makes sense to use MT4 now are the old code which is too lazy to adapt (even using the compatibility library ). And an old account that has a good history and you don't want to lose. That's it. No other reason to use MT4 now.

 
Timur Izgenov:

I personally do not believe in bots (robots, expert advisors).

I have chosen for myself a kind of "golden mean" in trading.
All signals are tracked by Expert Advisor, but the final decision
whether or not to enter the market only I make. If the signal is really
reliable, I switch the program into "Expert Advisor" mode,
allowing it to open a trade. And if the trade takes too long,
there's no need to sit in front of the terminal for hours. The robot
will close it according to its parameters, either at a profit
or at a loss. That's the principle: Trust, but verify!
 
Georgiy Merts using the compatibility library ). And an old account that has a good history and you don't want to lose. That's it. No other reason to use MT4 now.

Frames are such an unnecessary thing that they are only needed when you have a zoo of constantly re-optimized EAs. I think you are the only one with one-of-a-kind product.

But there are no more practical things. Or you have to build frameworks (frameworks made of crutches and sticks) :-)

I've just felt it, so I decided to answer them:

- how to call call the recalculation of an indicator in 5 not on a tick? I HAVE NO IDEA WHAT TO DO WITH IT. Or, you should add 5-6 indicator buffers to save bars. Good way - 5-6 extra arrays

A simple scenario: a user changes anchor points on the chart, and enters numbers in forms - indicator should recalculate some part (or all of them). On Saturday, when there are no ticks.
CopyRates is not quite suitable, its data has to be saved somewhere and synchronized. Sudden amount of code or extra arrays on a flat spot.

 
A100 #:

If you include analytics, it is clear that forex has a higher yield (all other things being equal), if only because the liquidity is several orders of magnitude higher than on the stock market (the stockbrokers take profit from each other) and there is no need to pay broker's commissions. There are enough reliable brokers with FSA regulation and income tax is also paid

it's who has ever paid taxes on forex - i want to see that person:-)

 
Maxim Kuznetsov #:

Frames are such an unnecessary commodity that they are only needed if you run a zoo of constantly over-optimised EAs. I think you are the only one who has it.

I categorically disagree. The test results come via frames - and any automated processing of them is impossible in MT4, where there are no frames.

About the recalculation not on the tick - is not clear. Apparently, one should use a timer, it comes by time, not by tick... But, there's no difference between Mt4 and Mt5...

 
Georgiy Merts #:

I categorically disagree. The frames are where the test results come in - and any automated processing of them is impossible in MT4, where there are no frames.

About the recalculation not on the tick - not clear. Apparently, one should use a timer, it comes by time, not by tick... But it makes no difference whether it's Mt4 or Mt5...

It makes no difference whether you use OnTimer or OnChartEvent. The arrays open[] high[] and so on are not available in Mt5 except for call of Oncalc() itself and it's impossible to call correctly OnCalculate() separately.

Either a sea of code or unnecessary arrays. As an analytical tool, 5 is terrible for this very reason - forcing it to consume memory and multi-code.

 
Yuriy Zaytsev #:

is who has ever paid taxes on forex - I want to see that person:-)

The Russian brokers themselves withhold, while for foreign brokers you have to submit a cash flow report to the tax authorities, and if you don't submit it, you are fined. And if there is no automatic exchange of information with the country, there is a delayed penalty (until such an exchange occurs) and you cannot legally get the money back

Reason: