Machine learning in trading: theory, models, practice and algo-trading - page 222

 
Tag Konow:

This goal can only be achieved with absolute knowledge of the subject. The ease of creating anything is not relevant here.

What do these words mean?

For example the meaning of your words.

Whether or not OOP was used in programming. I am not interested at all in the programming technique and the language of implementation.

But there is another meaning of your words and R completely satisfies this meaning.

Yes, you can use R tools as black boxes, but those are very limited cases. And I completely agree with you that one has to get into the essence of the tool.

But how?

Take the source code and parse it? I'm absolutely sure it won't get you closer to understanding the essence of the algorithm.

But there is another way to solve the problem you mentioned. If you want to get to the heart of the algorithm, you can see a link to the theoretical work that this algorithm implements. Yes, I often have to do this. As I see it, this is the ultimate knowledge of the subject.

If you understand the knowledge of the subject in this way, then R more than any other package satisfies this requirement, since the documentation for any function of R includes a link to a publication describing the theory of the algorithm, and often related material, such as monographs on related problems. That is, R includes an extensive bibliography whose theoretical statements can be tested with algorithms. If we compare these capabilities of R with the works of the field of statistics in Soviet times, a huge step forward in both theory and practice.

For example. Suppose you are interested in VECM models. You can use ready-made functions, and if you're interested inabsolute knowledge of the subject, look at the links and see references to Granger's original works on cointegration. Where to go from here?

R is great for learning, R is great for research, algorithm selection. On TFs above H1 it is quite possible to use in practice. High frequency trading is a separate problem.

 
SanSanych Fomenko:

What do these words mean?


I can explain in more detail:

If some complex process in some situation is not important, then no one tends to get into it. But suddenly, the situation changes and the process becomes vital. Every obstacle in the process can lead to great losses, so to know all the components of the process becomes very important. Demo trading and going real is a great example.

If you are not interested in the programming technique and implementation language (by the way, the language you advocate, but you say is not interesting), then the solutions that you get as a result of this process do not mean anything to you.

Since we are talking about trading, then either you are very rich, or you don't trade for real. Otherwise you would talk about tools and approaches with more attention, comparing them and trying to understand them, because your income would depend on it.

Consequently, the position of convinced dilettantism is conditioned by the absence of any threat in the current state.

The R language creates the following situation:

1. conditionally relieves you from unnecessary labor and sort of facilitates the work, but requires you to forget about the inquisitiveness of your own mind and accept ready-made developments.

2. If you do not want - examine the exorbitant huge R, and try not to drown in its content. And much of it you never needed, but you will have to deal with all the clutter (the language is not confined to algotrading).

Here's such an alternative. It remains to hope that the anonymous developers did their best and made the necessary mechanisms perfect enough.

I'm sorry, but my ego as a developer prevents me from putting up with it. ))


P.S. The love of freebies has its side effects.))

 

SanSanych Fomenko:

If you understand the knowledge of the subject in this way, R satisfies this requirement like no other package, since the documentation for any function R includes a reference to a publication describing the theory of the algorithm, and often also related materials, such as monographs on related problems. That is, R includes an extensive bibliography whose theoretical statements can be tested with algorithms. If we compare these capabilities of R with the works of the field of statistics in Soviet times, a huge step forward in both theory and practice.

For example. Suppose you are interested in VECM models. You can use ready-made functions, and if you're interested inabsolute knowledge of the subject, look at the links and see references to Granger's original works on cointegration. Where to go from here?

R is great for learning, R is great for research, algorithm selection. On TFs above H1 it is quite possible to use it in practice. High-frequency trading is a separate problem.

Honestly, reading this text, I'm a little lost in your reasoning. What do you mean?

What models? What step forward in statistics? We are interested in concrete, practical trading and what concerns it, while scientific advances in different areas piled into one big pile are not very relevant for trading.

Why do you think that such "advantages" outweigh the advantages of MQL? Is the scattered solutions of many highly scientific problems more effective than focusing on real-world problems?

What models are you talking about?

1. What about simple algorithms for recognizing classic patterns?

2. What about additional market data in the terminal?

3. What about the interface in EAs?

4. How about integration of statistics of current trade in EAs into tables and charts? (And let this statistics be simple and primitive).

These and many other problems are urgent, while you suggest to go to unknown places and search for unknown things, in order to save your own efforts in solving your own problems.

Alas...(.

 
Tag Konow:

I can explain in more detail:

If a complex process in some situation is not important, no one tends to get into it. But suddenly, the situation changes and the process becomes vital. Every obstacle in the process can lead to great losses, and so it is very important to be aware of all the components of the process. Demo trading and going real is a great example.

If you are not interested in programming technique and implementation language (by the way, the language you advocate, but you say is not interesting), then the solutions that you get as a result of this process do not mean anything to you.

Since we are talking about trading, then either you are very rich, or you don't trade for real. Otherwise you would talk about tools and approaches with more attention, comparing them and trying to understand them, because your income would depend on it.

Consequently, the position of convinced dilettantism is conditioned by the absence of any threat in the current state.

The R language creates the following situation:

1. conditionally relieves you from unnecessary labor and sort of facilitates the work, but requires you to forget about the inquisitiveness of your own mind and accept ready-made developments.

2. If you do not want - examine the exorbitant huge R, and try not to drown in its content. And much of it you never needed, but you will have to deal with all the clutter (the language is not confined to algotrading).

Here's such an alternative. It remains to hope that the anonymous developers did their best and made the necessary mechanisms perfect enough.

I'm sorry, but my ego as a developer prevents me from putting up with it. ))


P.S. The love of freebies has its side effects.))

You did not read my post carefully.

What's more: Every obstacle in the process can lead to big losses, so knowing all the components of the process becomes extremely important. A perfect example of this is demo trading and conversion to real trading.

Much of this thread is devoted to the transition from demo to real. To understand it, you just need to have the appropriate tools. And I assure you that this is NOT a freebie.

I will add

R is not a programming language. It is a free software environment for statistical computing and graphics. In particular this software environment for statistical computing includes the algorithmic language R.

 
Tag Konow:

reading your thread now https://www.mql5.com/ru/forum/91459

Very interesting, you and I are the same way

Высокотехнологичный обман СМЕ. Трейдер = жертва?
Высокотехнологичный обман СМЕ. Трейдер = жертва?
  • www.mql5.com
Что там происходит, уважаемые трейдеры...
 
SanSanych Fomenko:

I'll add

R is not a programming language. It is a free software environment for statistical computing and graphics. In particular, this software environment for statistical computing includes the algorithmic language R.

So you confirm that R was not originally created as a language that fully supports algorithmic trading?

In other words, it was not originally designed for trading. It has another original purpose. So no one ever thought about the effectiveness of solving the problems of trading?

However, because of its constant expansion and aggregation of a large number of functions, it started solving problems of cointegration, astronomy, nuclear physics, consumer electronics, in parallel with solving statistical problems, and reached the algorithmic trading?

In other words, algotrading in R exists as a "condiment"? As if following the logic: - "if R has everything, why shouldn't there be algotrading?"?

In this case, you're contrasting this "tool for all occasions", clearly sharpened for trading, with professional language MQL?

It's somewhat reckless ... (unprofessional). ))

 
mytarmailS:

I'm reading your thread at https://www.mql5.com/ru/forum/91459

Very interesting, you and I are the same way

Very glad).
 
Tag Konow:

I don't want to join in an argument, but just so you don't think that R is so lame in terms of trading and optimization of trading systems, just browse throughhttps://r-forge.r-project.org/scm/viewvc.php/*checkout*/pkg/quantstrat/sandbox/QuantstratWorkshop.pdf?root=blotter, there is even Walk Forward Analysis which isn't even in MT5 as far as I know

 
mytarmailS:

I don't want to join in an argument, but just so you don't think that R is so lame in terms of trading and optimization of trading systems, just browse throughhttps://r-forge.r-project.org/scm/viewvc.php/*checkout*/pkg/quantstrat/sandbox/QuantstratWorkshop.pdf?root=blotter, there is even Walk Forward Analysis which isn't even in MT5 as far as I know

I'll flip through it tomorrow and write my opinion.

I've never intended to exaggerate the R-word but the professional value of MQL has been "undeservedly and thoughtlessly degraded" here and the "dilettante" approach has been propagandized as the most profitable.

So I "interceded". ))

 

By the way, today we've released MetaTrader 5 build 1485 with updated math library, in which we added a few dozens of functions from R + a set of high-level mat operations + graphic library, similar to plot.

The total volume of source code in \include\math is already 6617 kb.

Only \include\math\stat alone contains 461 mathematical functions with good coverage of R capabilities:

bool MathAbs(const double &array[],double &result[])
bool MathAbs(double &array[])
bool MathArccos(const double &array[],double &result[])
bool MathArccos(double &array[])
bool MathArccosh(const double &array[],double &result[])
bool MathArccosh(double &array[])
bool MathArcsin(const double &array[],double &result[])
bool MathArcsin(double &array[])
bool MathArcsinh(const double &array[],double &result[])
bool MathArcsinh(double &array[])
bool MathArctan(const double &array[],double &result[])
bool MathArctan(double &array[])
bool MathArctan2(const double &x[],const double &y[],double &result[])
bool MathArctanh(const double &array[],double &result[])
bool MathArctanh(double &array[])
bool MathCeil(const double &array[],double &result[])
bool MathCeil(double &array[])
bool MathCorrelationKendall(const double &array1[],const double &array2[],double &tau)
bool MathCorrelationKendall(const int &array1[],const int &array2[],double &tau)
bool MathCorrelationPearson(const double &array1[],const double &array2[],double &r)
bool MathCorrelationPearson(const int &array1[],const int &array2[],double &r)
bool MathCorrelationSpearman(const double &array1[],const double &array2[],double &r)
bool MathCorrelationSpearman(const int &array1[],const int &array2[],double &r)
bool MathCos(const double &array[],double &result[])
bool MathCos(double &array[])
bool MathCosPi(const double &array[],double &result[])
bool MathCosPi(double &array[])
bool MathCosh(const double &array[],double &result[])
bool MathCosh(double &array[])
bool MathCumulativeDistributionBeta(const double &x[],const double a,const double b,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionBeta(const double &x[],const double a,const double b,double &result[])
bool MathCumulativeDistributionBinomial(const double &x[],const double n,double p,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionBinomial(const double &x[],const double n,double p,double &result[])
bool MathCumulativeDistributionCauchy(const double &x[],const double a,const double b,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionCauchy(const double &x[],const double a,const double b,double &result[])
bool MathCumulativeDistributionChiSquare(const double &x[],const double nu,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionChiSquare(const double &x[],const double nu,double &result[])
bool MathCumulativeDistributionExponential(const double &x[],const double mu,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionExponential(const double &x[],const double mu,double &result[])
bool MathCumulativeDistributionF(const double &x[],const double nu1,const double nu2,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionF(const double &x[],const double nu1,const double nu2,double &result[])
bool MathCumulativeDistributionGamma(const double &x[],const double a,const double b,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionGamma(const double &x[],const double a,const double b,double &result[])
bool MathCumulativeDistributionGeometric(const double &x[],const double p,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionGeometric(const double &x[],const double p,double &result[])
bool MathCumulativeDistributionHypergeometric(const double &x[],const double m,const double k,const double n,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionHypergeometric(const double &x[],const double m,const double k,const double n,double &result[])
bool MathCumulativeDistributionLogistic(const double &x[],const double mu,const double sigma,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionLogistic(const double &x[],const double mu,const double sigma,double &result[])
bool MathCumulativeDistributionLognormal(const double &x[],const double mu,const double sigma,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionLognormal(const double &x[],const double mu,const double sigma,double &result[])
bool MathCumulativeDistributionNegativeBinomial(const double &x[],const double r,double p,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionNegativeBinomial(const double &x[],const double r,double p,double &result[])
bool MathCumulativeDistributionNoncentralBeta(const double &x[],const double a,const double b,const double lambda,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionNoncentralBeta(const double &x[],const double a,const double b,const double lambda,double &result[])
bool MathCumulativeDistributionNoncentralChiSquare(const double &x[],const double nu,const double sigma,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionNoncentralChiSquare(const double &x[],const double nu,const double sigma,double &result[])
bool MathCumulativeDistributionNoncentralF(const double &x[],const double nu1,const double nu2,const double sigma,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionNoncentralF(const double &x[],const double nu1,const double nu2,const double sigma,double &result[])
bool MathCumulativeDistributionNoncentralT(const double &x[],const double nu,const double delta,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionNoncentralT(const double &x[],const double nu,const double delta,double &result[])
bool MathCumulativeDistributionNormal(const double &x[],const double mu,const double sigma,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionNormal(const double &x[],const double mu,const double sigma,double &result[])
bool MathCumulativeDistributionPoisson(const double &x[],const double lambda,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionPoisson(const double &x[],const double lambda,double &result[])
bool MathCumulativeDistributionT(const double &x[],const double nu,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionT(const double &x[],const double nu,double &result[])
bool MathCumulativeDistributionUniform(const double &x[],const double a,const double b,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionUniform(const double &x[],const double a,const double b,double &result[])
bool MathCumulativeDistributionWeibull(const double &x[],const double a,const double b,const bool tail,const bool log_mode,double &result[])
bool MathCumulativeDistributionWeibull(const double &x[],const double a,const double b,double &result[])
bool MathCumulativeMax(const double &array[],double &result[])
bool MathCumulativeMax(double &array[])
bool MathCumulativeMin(const double &array[],double &result[])
bool MathCumulativeMin(double &array[])
bool MathCumulativeProduct(const double &array[],double &result[])
bool MathCumulativeProduct(double &array[])
bool MathCumulativeSum(const double &array[],double &result[])
bool MathCumulativeSum(double &array[])
bool MathDifference(const double &array[],const int lag,const int differences,double &result[])
bool MathDifference(const double &array[],const int lag,double &result[])
bool MathExp(const double &array[],double &result[])
bool MathExp(double &array[])
bool MathExpm1(const double &array[],double &result[])
bool MathExpm1(double &array[])
bool MathFloor(const double &array[],double &result[])
bool MathFloor(double &array[])
bool MathIdentical(const double &array1[],const double &array2[])
bool MathLog(const double &array[],const double base,double &result[])
bool MathLog(const double &array[],double &result[])
bool MathLog(double &array[])
bool MathLog(double &array[],const double base)
bool MathLog10(const double &array[],double &result[])
bool MathLog10(double &array[])
bool MathLog1p(const double &array[],double &result[])
bool MathLog1p(double &array[])
bool MathLog2(const double &array[],double &result[])
bool MathLog2(double &array[])
bool MathMoments(const double &array[],double &mean,double &variance,double &skewness,double &kurtosis,const int start=0,const int count=WHOLE_ARRAY)
bool MathMomentsBeta(const double a,const double b,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsBinomial(const double n,const double p,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsCauchy(const double a,const double b,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsChiSquare(const double nu,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsExponential(const double mu,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsF(const double nu1,const double nu2,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsGamma(const double a,const double b,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsGeometric(const double p,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsHypergeometric(const double m,const double k,const double n,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsLogistic(const double mu,const double sigma,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsLognormal(const double mu,const double sigma,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsNegativeBinomial(const double r,double p,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsNoncentralChiSquare(const double nu,const double sigma,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsNoncentralF(const double nu1,const double nu2,const double sigma,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsNormal(const double mu,const double sigma,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsPoisson(const double lambda,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsUniform(const double a,const double b,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathMomentsWeibull(const double a,const double b,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
bool MathOrder(const double &array[],int &result[])
bool MathPow(const double &array[],const double power,double &result[])
bool MathPow(double &array[],const double power)
bool MathProbabilityDensityBeta(const double &x[],const double a,const double b,const bool log_mode,double &result[])
bool MathProbabilityDensityBeta(const double &x[],const double a,const double b,double &result[])
bool MathProbabilityDensityBinomial(const double &x[],const double n,const double p,const bool log_mode,double &result[])
bool MathProbabilityDensityBinomial(const double &x[],const double n,const double p,double &result[])
bool MathProbabilityDensityCauchy(const double &x[],const double a,const double b,const bool log_mode,double &result[])
bool MathProbabilityDensityCauchy(const double &x[],const double a,const double b,double &result[])
bool MathProbabilityDensityChiSquare(const double &x[],const double nu,const bool log_mode,double &result[])
bool MathProbabilityDensityChiSquare(const double &x[],const double nu,double &result[])
bool MathProbabilityDensityExponential(const double &x[],const double mu,const bool log_mode,double &result[])
bool MathProbabilityDensityExponential(const double &x[],const double mu,double &result[])
bool MathProbabilityDensityF(const double &x[],const double nu1,const double nu2,const bool log_mode,double &result[])
bool MathProbabilityDensityF(const double &x[],const double nu1,const double nu2,double &result[])
bool MathProbabilityDensityGamma(const double &x[],const double a,const double b,const bool log_mode,double &result[])
bool MathProbabilityDensityGamma(const double &x[],const double a,const double b,double &result[])
bool MathProbabilityDensityGeometric(const double &x[],const double p,const bool log_mode,double &result[])
bool MathProbabilityDensityGeometric(const double &x[],const double p,double &result[])
bool MathProbabilityDensityHypergeometric(const double &x[],const double m,const double k,const double n,const bool log_mode,double &result[])
bool MathProbabilityDensityHypergeometric(const double &x[],const double m,const double k,const double n,double &result[])
bool MathProbabilityDensityLogistic(const double &x[],const double mu,const double sigma,const bool log_mode,double &result[])
bool MathProbabilityDensityLogistic(const double &x[],const double mu,const double sigma,double &result[])
bool MathProbabilityDensityLognormal(const double &x[],const double mu,const double sigma,const bool log_mode,double &result[])
bool MathProbabilityDensityLognormal(const double &x[],const double mu,const double sigma,double &result[])
bool MathProbabilityDensityNegativeBinomial(const double &x[],const double r,const double p,const bool log_mode,double &result[])
bool MathProbabilityDensityNegativeBinomial(const double &x[],const double r,const double p,double &result[])
bool MathProbabilityDensityNoncentralBeta(const double &x[],const double a,const double b,const double lambda,const bool log_mode,double &result[])
bool MathProbabilityDensityNoncentralBeta(const double &x[],const double a,const double b,const double lambda,double &result[])
bool MathProbabilityDensityNoncentralChiSquare(const double &x[],const double nu,const double sigma,const bool log_mode,double &result[])
bool MathProbabilityDensityNoncentralChiSquare(const double &x[],const double nu,const double sigma,double &result[])
bool MathProbabilityDensityNoncentralF(const double &x[],const double nu1,const double nu2,const double sigma,const bool log_mode,double &result[])
bool MathProbabilityDensityNoncentralF(const double &x[],const double nu1,const double nu2,const double sigma,double &result[])
bool MathProbabilityDensityNoncentralT(const double &x[],const double nu,const double delta,const bool log_mode,double &result[])
bool MathProbabilityDensityNoncentralT(const double &x[],const double nu,const double delta,double &result[])
bool MathProbabilityDensityNormal(const double &x[],const double mu,const double sigma,const bool log_mode,double &result[])
bool MathProbabilityDensityNormal(const double &x[],const double mu,const double sigma,double &result[])
bool MathProbabilityDensityPoisson(const double &x[],const double lambda,const bool log_mode,double &result[])
bool MathProbabilityDensityPoisson(const double &x[],const double lambda,double &result[])
bool MathProbabilityDensityT(const double &x[],const double nu,const bool log_mode,double &result[])
bool MathProbabilityDensityT(const double &x[],const double nu,double &result[])
bool MathProbabilityDensityUniform(const double &x[],const double a,const double b,const bool log_mode,double &result[])
bool MathProbabilityDensityUniform(const double &x[],const double a,const double b,double &result[])
bool MathProbabilityDensityWeibull(const double &x[],const double a,const double b,const bool log_mode,double &result[])
bool MathProbabilityDensityWeibull(const double &x[],const double a,const double b,double &result[])
bool MathQuantileBeta(const double &probability[],const double a,const double b,const bool tail,const bool log_mode,double &result[])
bool MathQuantileBeta(const double &probability[],const double a,const double b,double &result[])
bool MathQuantileBinomial(const double &probability[],const double n,const double p,const bool tail,const bool log_mode,double &result[])
bool MathQuantileBinomial(const double &probability[],const double n,const double p,double &result[])
bool MathQuantileCauchy(const double &probability[],const double a,const double b,const bool tail,const bool log_mode,double &result[])
bool MathQuantileCauchy(const double &probability[],const double a,const double b,double &result[])
bool MathQuantileChiSquare(const double &probability[],const double nu,const bool tail,const bool log_mode,double &result[])
bool MathQuantileChiSquare(const double &probability[],const double nu,double &result[])
bool MathQuantileExponential(const double &probability[],const double mu,const bool tail,const bool log_mode,double &result[])
bool MathQuantileExponential(const double &probability[],const double mu,double &result[])
bool MathQuantileF(const double &probability[],const double nu1,const double nu2,const bool tail,const bool log_mode,double &result[])
bool MathQuantileF(const double &probability[],const double nu1,const double nu2,double &result[])
bool MathQuantileGamma(const double &probability[],const double a,const double b,const bool tail,const bool log_mode,double &result[])
bool MathQuantileGamma(const double &probability[],const double a,const double b,double &result[])
bool MathQuantileGeometric(const double &probability[],const double p,const bool tail,const bool log_mode,double &result[])
bool MathQuantileGeometric(const double &probability[],const double p,double &result[])
bool MathQuantileHypergeometric(const double &probability[],const double m,const double k,const double n,const bool tail,const bool log_mode,double &result[])
bool MathQuantileHypergeometric(const double &probability[],const double m,const double k,const double n,double &result[])
bool MathQuantileLogistic(const double &probability[],const double mu,const double sigma,const bool tail,const bool log_mode,double &result[])
bool MathQuantileLogistic(const double &probability[],const double mu,const double sigma,double &result[])
bool MathQuantileLognormal(const double &probability[],const double mu,const double sigma,const bool tail,const bool log_mode,double &result[])
bool MathQuantileLognormal(const double &probability[],const double mu,const double sigma,double &result[])
bool MathQuantileNegativeBinomial(const double &probability[],const double r,const double p,const bool tail,const bool log_mode,double &result[])
bool MathQuantileNegativeBinomial(const double &probability[],const double r,const double p,double &result[])
bool MathQuantileNoncentralBeta(const double &probability[],const double a,const double b,const double lambda,const bool tail,const bool log_mode,double &result[])
bool MathQuantileNoncentralBeta(const double &probability[],const double a,const double b,const double lambda,double &result[])
bool MathQuantileNoncentralChiSquare(const double &probability[],const double nu,const double sigma,const bool tail,const bool log_mode,double &result[])
bool MathQuantileNoncentralChiSquare(const double &probability[],const double nu,const double sigma,double &result[])
bool MathQuantileNoncentralF(const double &probability[],const double nu1,const double nu2,const double sigma,const bool tail,const bool log_mode,double &result[])
bool MathQuantileNoncentralF(const double &probability[],const double nu1,const double nu2,const double sigma,double &result[])
bool MathQuantileNoncentralT(const double &probability[],const double nu,const double delta,const bool tail,const bool log_mode,double &result[])
bool MathQuantileNoncentralT(const double &probability[],const double nu,const double delta,double &result[])
bool MathQuantileNormal(const double &probability[],const double mu,const double sigma,const bool tail,const bool log_mode,double &result[])
bool MathQuantileNormal(const double &probability[],const double mu,const double sigma,double &result[])
bool MathQuantilePoisson(const double &probability[],const double lambda,const bool tail,const bool log_mode,double &result[])
bool MathQuantilePoisson(const double &probability[],const double lambda,double &result[])
bool MathQuantileT(const double &probability[],const double nu,const bool tail,const bool log_mode,double &result[])
bool MathQuantileT(const double &probability[],const double nu,double &result[])
bool MathQuantileUniform(const double &probability[],const double a,const double b,const bool tail,const bool log_mode,double &result[])
bool MathQuantileUniform(const double &probability[],const double a,const double b,double &result[])
bool MathQuantileWeibull(const double &probability[],const double a,const double b,const bool tail,const bool log_mode,double &result[])
bool MathQuantileWeibull(const double &probability[],const double a,const double b,double &result[])
bool MathRandomBeta(const double a,const double b,const int data_count,double &result[])
bool MathRandomBinomial(const double n,const double p,const int data_count,double &result[])
bool MathRandomCauchy(const double a,const double b,const int data_count,double &result[])
bool MathRandomChiSquare(const double nu,const int data_count,double &result[])
bool MathRandomExponential(const double mu,const int data_count,double &result[])
bool MathRandomF(const double nu1,const double nu2,const int data_count,double &result[])
bool MathRandomGamma(const double a,const double b,const int data_count,double &result[])
bool MathRandomGeometric(const double p,const int data_count,double &result[])
bool MathRandomHypergeometric(const double m,const double k,const double n,const int data_count,double &result[])
bool MathRandomLogistic(const double mu,const double sigma,const int data_count,double &result[])
bool MathRandomLognormal(const double mu,const double sigma,const int data_count,double &result[])
bool MathRandomNegativeBinomial(const double r,const double p,const int data_count,double &result[])
bool MathRandomNoncentralBeta(const double a,const double b,const double lambda,const int data_count,double &result[])
bool MathRandomNoncentralChiSquare(const double nu,const double sigma,const int data_count,double &result[])
bool MathRandomNoncentralF(const double nu1,const double nu2,const double sigma,const int data_count,double &result[])
bool MathRandomNoncentralT(const double nu,const double delta,const int data_count,double &result[])
bool MathRandomNormal(const double mu,const double sigma,const int data_count,double &result[])
bool MathRandomPoisson(const double lambda,const int data_count,double &result[])
bool MathRandomT(const double nu,const int data_count,double &result[])
bool MathRandomUniform(const double a,const double b,const int data_count,double &result[])
bool MathRandomWeibull(const double a,const double b,const int data_count,double &result[])
bool MathRange(const double &array[],double &min,double &max)
bool MathRank(const double &array[],double &rank[])
bool MathRank(const int &array[],double &rank[])
bool MathRepeat(const double &array[],const int count,double &result[])
bool MathReverse(const double &array[],double &result[])
bool MathReverse(double &array[])
bool MathRound(const double &array[],int digits,double &result[])
bool MathRound(double &array[],int digits)
bool MathSample(const double &array[],const int count,const bool replace,double &result[])
bool MathSample(const double &array[],const int count,double &result[])
bool MathSample(const double &array[],double &probabilities[],const int count,const bool replace,double &result[])
bool MathSample(const double &array[],double &probabilities[],const int count,double &result[])
bool MathSample(const int &array[],double &probabilities[],const int count,const bool replace,int &result[])
bool MathSample(const int &array[],double &probabilities[],const int count,int &result[])
bool MathSequence(const double from,const double to,const double step,double &result[])
bool MathSequenceByCount(const double from,const double to,const int count,double &result[])
bool MathSignif(const double &array[],int digits,double &result[])
bool MathSignif(double &array[],int digits)
bool MathSin(const double &array[],double &result[])
bool MathSin(double &array[])
bool MathSinPi(const double &array[],double &result[])
bool MathSinPi(double &array[])
bool MathSinh(const double &array[],double &result[])
bool MathSinh(double &array[])
bool MathSqrt(const double &array[],double &result[])
bool MathSqrt(double &array[])
bool MathTan(const double &array[],double &result[])
bool MathTan(double &array[])
bool MathTanPi(const double &array[],double &result[])
bool MathTanPi(double &array[])
bool MathTanh(const double &array[],double &result[])
bool MathTanh(double &array[])
bool MathTrunc(const double &array[],double &result[])
bool MathTrunc(double &array[])
bool MathTukeySummary(const double &array[],const bool removeNAN,double &minimum,double &lower_hinge,double &median,double &upper_hinge,double &maximum)
bool MathUnique(const double &array[],double &result[])
double MathArctan2(const double y,const double x)
double MathAverageDeviation(const double &array[])
double MathAverageDeviation(const double &array[],const int start=0,const int count=WHOLE_ARRAY)
double MathBeta(const double a,const double b)
double MathBetaIncomplete(const double x,const double p,const double q)
double MathBetaLog(const double a,const double b)
double MathBinomialCoefficientLog(const double n,const double k)
double MathBinomialCoefficientLog(const int n,const int k)
double MathCumulativeDistributionBeta(const double x,const double a,const double b,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionBeta(const double x,const double a,const double b,int &error_code)
double MathCumulativeDistributionBinomial(const double x,const double n,double p,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionBinomial(const double x,const double n,double p,int &error_code)
double MathCumulativeDistributionCauchy(const double x,const double a,const double b,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionCauchy(const double x,const double a,const double b,int &error_code)
double MathCumulativeDistributionChiSquare(const double x,const double nu,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionChiSquare(const double x,const double nu,int &error_code)
double MathCumulativeDistributionExponential(const double x,const double mu,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionExponential(const double x,const double mu,int &error_code)
double MathCumulativeDistributionF(const double x,const double nu1,const double nu2,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionF(const double x,const double nu1,const double nu2,int &error_code)
double MathCumulativeDistributionGamma(const double x,const double a,const double b,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionGamma(const double x,const double a,const double b,int &error_code)
double MathCumulativeDistributionGeometric(const double x,const double p,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionGeometric(const double x,const double p,int &error_code)
double MathCumulativeDistributionHypergeometric(const double x,const double m,const double k,const double n,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionHypergeometric(const double x,const double m,const double k,const double n,int &error_code)
double MathCumulativeDistributionLogistic(const double x,const double mu,double sigma,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionLogistic(const double x,const double mu,double sigma,int &error_code)
double MathCumulativeDistributionLognormal(const double x,const double mu,const double sigma,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionLognormal(const double x,const double mu,const double sigma,int &error_code)
double MathCumulativeDistributionNegativeBinomial(const double x,const double r,double p,const bool tail,const bool log_mode,int error_code)
double MathCumulativeDistributionNegativeBinomial(const double x,const double r,double p,int error_code)
double MathCumulativeDistributionNoncentralBeta(const double x,const double a,const double b,const double lambda,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionNoncentralBeta(const double x,const double a,const double b,const double lambda,int &error_code)
double MathCumulativeDistributionNoncentralChiSquare(const double x,const double nu,const double sigma,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionNoncentralChiSquare(const double x,const double nu,const double sigma,int &error_code)
double MathCumulativeDistributionNoncentralF(const double x,const double nu1,const double nu2,const double sigma,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionNoncentralF(const double x,const double nu1,const double nu2,const double sigma,int &error_code)
double MathCumulativeDistributionNoncentralT(const double x,const double nu,const double delta,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionNoncentralT(const double x,const double nu,const double delta,int &error_code)
double MathCumulativeDistributionNormal(const double x,const double mu,const double sigma,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionNormal(const double x,const double mu,const double sigma,int &error_code)
double MathCumulativeDistributionPoisson(const double x,const double lambda,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionPoisson(const double x,const double lambda,int &error_code)
double MathCumulativeDistributionT(const double x,const double nu,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionT(const double x,const double nu,int &error_code)
double MathCumulativeDistributionUniform(const double x,const double a,const double b,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionUniform(const double x,const double a,const double b,int &error_code)
double MathCumulativeDistributionWeibull(const double x,const double a,const double b,const bool tail,const bool log_mode,int &error_code)
double MathCumulativeDistributionWeibull(const double x,const double a,const double b,int &error_code)
double MathFactorial(const int n)
double MathGamma(const double x)
double MathGammaIncomplete(double x,double alpha)
double MathGammaLog(const double x)
double MathHypergeometric2F2(const double a,const double b,const double c,const double d,const double z)
double MathKurtosis(const double &array[])
double MathKurtosis(const double &array[],const int start=0,const int count=WHOLE_ARRAY)
double MathMax(const double &array[])
double MathMax(const double &array[],const int start=0,const int count=WHOLE_ARRAY)
double MathMean(const double &array[])
double MathMean(const double &array[],const int start=0,const int count=WHOLE_ARRAY)
double MathMedian(double &array[])
double MathMedian(double &array[],const int start=0,const int count=WHOLE_ARRAY)
double MathMin(const double &array[])
double MathMin(const double &array[],const int start=0,const int count=WHOLE_ARRAY)
double MathMomentsNoncentralBeta(const double a,const double b,const double lambda,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
double MathMomentsNoncentralT(const double nu,const double delta,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
double MathMomentsT(const double nu,double &mean,double &variance,double &skewness,double &kurtosis,int &error_code)
double MathPowInt(const double x,const int power)
double MathProbabilityDensityBeta(const double x,const double a,const double b,const bool log_mode,int &error_code)
double MathProbabilityDensityBeta(const double x,const double a,const double b,int &error_code)
double MathProbabilityDensityBinomial(const double x,const double n,const double p,const bool log_mode,int &error_code)
double MathProbabilityDensityBinomial(const double x,const double n,const double p,int &error_code)
double MathProbabilityDensityCauchy(const double x,const double a,const double b,const bool log_mode,int &error_code)
double MathProbabilityDensityCauchy(const double x,const double a,const double b,int &error_code)
double MathProbabilityDensityChiSquare(const double x,const double nu,const bool log_mode,int &error_code)
double MathProbabilityDensityChiSquare(const double x,const double nu,int &error_code)
double MathProbabilityDensityExponential(const double x,const double mu,const bool log_mode,int &error_code)
double MathProbabilityDensityExponential(const double x,const double mu,int &error_code)
double MathProbabilityDensityF(const double x,const double nu1,const double nu2,const bool log_mode,int &error_code)
double MathProbabilityDensityF(const double x,const double nu1,const double nu2,int &error_code)
double MathProbabilityDensityGamma(const double x,const double a,const double b,const bool log_mode,int &error_code)
double MathProbabilityDensityGamma(const double x,const double a,const double b,int &error_code)
double MathProbabilityDensityGeometric(const double x,const double p,const bool log_mode,int &error_code)
double MathProbabilityDensityGeometric(const double x,const double p,int &error_code)
double MathProbabilityDensityHypergeometric(const double x,const double m,const double k,const double n,const bool log_mode,int &error_code)
double MathProbabilityDensityHypergeometric(const double x,const double m,const double k,const double n,int &error_code)
double MathProbabilityDensityLogistic(const double x,const double mu,const double sigma,const bool log_mode,int &error_code)
double MathProbabilityDensityLogistic(const double x,const double mu,const double sigma,int &error_code)
double MathProbabilityDensityLognormal(const double x,const double mu,const double sigma,const bool log_mode,int &error_code)
double MathProbabilityDensityLognormal(const double x,const double mu,const double sigma,int &error_code)
double MathProbabilityDensityNegativeBinomial(const double x,const double r,const double p,const bool log_mode,int &error_code)
double MathProbabilityDensityNegativeBinomial(const double x,const double r,const double p,int &error_code)
double MathProbabilityDensityNoncentralBeta(const double x,const double a,const double b,const double lambda,const bool log_mode,int &error_code)
double MathProbabilityDensityNoncentralBeta(const double x,const double a,const double b,const double lambda,int &error_code)
double MathProbabilityDensityNoncentralChiSquare(const double x,const double nu,const double sigma,const bool log_mode,int &error_code)
double MathProbabilityDensityNoncentralChiSquare(double x,const double nu,const double sigma,int &error_code)
double MathProbabilityDensityNoncentralF(const double x,const double nu1,const double nu2,const double sigma,const bool log_mode,int &error_code)
double MathProbabilityDensityNoncentralF(const double x,const double nu1,const double nu2,const double sigma,int &error_code)
double MathProbabilityDensityNoncentralT(const double x,const double nu,const double delta,const bool log_mode,int &error_code)
double MathProbabilityDensityNoncentralT(const double x,const double nu,const double delta,int &error_code)
double MathProbabilityDensityNormal(const double x,const double mu,const double sigma,const bool log_mode,int &error_code)
double MathProbabilityDensityNormal(const double x,const double mu,const double sigma,int &error_code)
double MathProbabilityDensityPoisson(const double x,const double lambda,const bool log_mode,int &error_code)
double MathProbabilityDensityPoisson(const double x,const double lambda,int &error_code)
double MathProbabilityDensityT(const double x,const double nu,const bool log_mode,int &error_code)
double MathProbabilityDensityT(const double x,const double nu,int &error_code)
double MathProbabilityDensityUniform(const double x,const double a,const double b,const bool log_mode,int &error_code)
double MathProbabilityDensityUniform(const double x,const double a,const double b,int &error_code)
double MathProbabilityDensityWeibull(const double x,const double a,const double b,const bool log_mode,int &error_code)
double MathProbabilityDensityWeibull(const double x,const double a,const double b,int &error_code)
double MathProduct(const double &array[])
double MathQuantileBeta(const double probability,const double a,const double b,const bool tail,const bool log_mode,int &error_code)
double MathQuantileBeta(const double probability,const double a,const double b,int &error_code)
double MathQuantileBinomial(const double probability,const double n,const double p,const bool tail,const bool log_mode,int &error_code)
double MathQuantileBinomial(const double probability,const double n,const double p,int &error_code)
double MathQuantileCauchy(const double probability,const double a,const double b,const bool tail,const bool log_mode,int &error_code)
double MathQuantileCauchy(const double probability,const double a,const double b,int &error_code)
double MathQuantileChiSquare(const double probability,const double nu,const bool tail,const bool log_mode,int &error_code)
double MathQuantileChiSquare(const double probability,const double nu,int &error_code)
double MathQuantileExponential(const double probability,const double mu,const bool tail,const bool log_mode,int &error_code)
double MathQuantileExponential(const double probability,const double mu,int &error_code)
double MathQuantileF(const double probability,const double nu1,const double nu2,const bool tail,const bool log_mode,int &error_code)
double MathQuantileF(const double probability,const double nu1,const double nu2,int &error_code)
double MathQuantileGamma(const double probability,const double a,const double b,const bool tail,const bool log_mode,int &error_code)
double MathQuantileGamma(const double probability,const double a,const double b,int &error_code)
double MathQuantileGeometric(const double probability,const double p,const bool tail,const bool log_mode,int &error_code)
double MathQuantileGeometric(const double probability,const double p,int &error_code)
double MathQuantileHypergeometric(const double probability,const double m,const double k,const double n,const bool tail,const bool log_mode,int &error_code)
double MathQuantileHypergeometric(const double probability,const double m,const double k,const double n,int &error_code)
double MathQuantileLogistic(const double probability,const double mu,const double sigma,const bool tail,const bool log_mode,int &error_code)
double MathQuantileLogistic(const double probability,const double mu,const double sigma,int &error_code)
double MathQuantileLognormal(const double probability,const double mu,const double sigma,const bool tail,const bool log_mode,int &error_code)
double MathQuantileLognormal(const double probability,const double mu,const double sigma,int &error_code)
double MathQuantileNegativeBinomial(const double probability,const double r,const double p,const bool tail,const bool log_mode,int &error_code)
double MathQuantileNegativeBinomial(const double probability,const double r,const double p,int &error_code)
double MathQuantileNoncentralBeta(const double probability,const double a,const double b,const double lambda,const bool tail,const bool log_mode,int &error_code)
double MathQuantileNoncentralBeta(const double probability,const double a,const double b,const double lambda,int &error_code)
double MathQuantileNoncentralChiSquare(const double probability,const double nu,const double sigma,const bool tail,const bool log_mode,int &error_code)
double MathQuantileNoncentralChiSquare(const double probability,const double nu,const double sigma,int &error_code)
double MathQuantileNoncentralF(const double probability,const double nu1,const double nu2,const double sigma,const bool tail,const bool log_mode,int &error_code)
double MathQuantileNoncentralF(const double probability,const double nu1,const double nu2,const double sigma,int &error_code)
double MathQuantileNoncentralT(const double probability,const double nu,const double delta,const bool tail,const bool log_mode,int &error_code)
double MathQuantileNoncentralT(const double probability,const double nu,const double delta,int &error_code)
double MathQuantileNormal(const double probability,const double mu,const double sigma,const bool tail,const bool log_mode,int &error_code)
double MathQuantileNormal(const double probability,const double mu,const double sigma,int &error_code)
double MathQuantilePoisson(const double probability,const double lambda,const bool tail,const bool log_mode,int &error_code)
double MathQuantilePoisson(const double probability,const double lambda,int &error_code)
double MathQuantileT(const double probability,const double nu,const bool tail,const bool log_mode,int &error_code)
double MathQuantileT(const double probability,const double nu,int &error_code)
double MathQuantileUniform(const double probability,const double a,const double b,const bool tail,const bool log_mode,int &error_code)
double MathQuantileUniform(const double probability,const double a,const double b,int &error_code)
double MathQuantileWeibull(const double probability,const double a,const double b,const bool tail,const bool log_mode,int &error_code)
double MathQuantileWeibull(const double probability,const double a,const double b,int &error_code)
double MathRandomBeta(const double a,const double b)
double MathRandomBeta(const double a,const double b,int &error_code)
double MathRandomBinomial(const double n,const double p)
double MathRandomBinomial(const double n,const double p,int &error_code)
double MathRandomCauchy(const double a,const double b,int &error_code)
double MathRandomChiSquare(const double nu,int &error_code)
double MathRandomExponential(const double mu,int &error_code)
double MathRandomF(const double nu1,const double nu2,int &error_code)
double MathRandomGamma(const double a,const double b)
double MathRandomGamma(const double a,const double b,int &error_code)
double MathRandomGeometric(const double p,int &error_code)
double MathRandomHypergeometric(const double m,const double k,const double n,int &error_code)
double MathRandomLogistic(const double mu,const double sigma,int &error_code)
double MathRandomLognormal(const double mu,const double sigma,int &error_code)
double MathRandomNegativeBinomial(const double r,const double p,int error_code)
double MathRandomNonZero(void)
double MathRandomNoncentralBeta(const double a,const double b,const double lambda,int &error_code)
double MathRandomNoncentralChiSquare(const double nu,const double sigma,int &error_code)
double MathRandomNoncentralF(const double nu1,const double nu2,const double sigma,int &error_code)
double MathRandomNoncentralT(const double nu,const double delta,int &error_code)
double MathRandomNormal(const double mu,const double sigma,int &error_code)
double MathRandomPoisson(const double lambda)
double MathRandomPoisson(const double lambda,int &error_code)
double MathRandomT(const double nu,int error_code)
double MathRandomUniform(const double a,const double b,int &error_code)
double MathRandomWeibull(const double a,const double b,int &error_code)
double MathRange(const double &array[],const int start=0,const int count=WHOLE_ARRAY)
double MathRound(const double x,const int digits)
double MathSignif(const double x,const int digits)
double MathSkewness(const double &array[])
double MathSkewness(const double &array[],const int start=0,const int count=WHOLE_ARRAY)
double MathStandardDeviation(const double &array[])
double MathStandardDeviation(const double &array[],const int start=0,const int count=WHOLE_ARRAY)
double MathSum(const double &array[])
double MathSum(const double &array[],const int start=0,const int count=WHOLE_ARRAY)
double MathTrunc(const double x)
double MathVariance(const double &array[])
double MathVariance(const double &array[],const int start=0,const int count=WHOLE_ARRAY)
double Nan(long bit_value)
double TailLog0(const bool tail,const bool log_mode)
double TailLog1(const bool tail,const bool log_mode)
double TailLogProbability(const double probability,const bool tail,const bool log_mode)
double TailLogValue(const double value,const bool tail,const bool log_mode)
void MathQuickSort(double &array[],int &indices[],int first,int last,int mode)
void MathQuickSortAscending(double &array[],int &indices[],int first,int last)
void MathQuickSortDescending(double &array[],int &indices[],int first,int last)

So, MQL5 already has a very good basic mathematical functionality. It was absent recently, but we have implemented it very quickly.

Let me point out that the capabilities of regular libraries Alglib and Fuzzy, which are also presented in the source code, are not mentioned here.

Reason: