Je ne comprends rien, MT5 version 1545. Dans les versions précédentes, il y avait des fonctions dans le listing Math.mqh :
//+------------------------------------------------------------------+//| Computes the minimum value in array[] |//+------------------------------------------------------------------+doubleMathMin(constdouble &array[],constint start=0,constint count=WHOLE_ARRAY)
{
int size=ArraySize(array);
int data_count=0;
//--- set data countif(count==WHOLE_ARRAY)
data_count=size;
else
data_count=count;
//--- check data rangeif(data_count==0)
return(QNaN);
if(start+data_count>size)
return(QNaN);
//--- set indexesint ind1=start;
int ind2=ind1+data_count-1;
//--- first element by default, find minimumdouble min_value=array[ind1];
for(int i=ind1+1; i<=ind2; i++)
min_value=MathMin(min_value,array[i]);
//--- return minimum valuereturn(min_value);
}
//+------------------------------------------------------------------+//| Computes the maximum value in array[] |//+------------------------------------------------------------------+doubleMathMax(constdouble &array[],constint start=0,constint count=WHOLE_ARRAY)
{
int size=ArraySize(array);
int data_count=0;
//--- set data countif(count==WHOLE_ARRAY)
data_count=size;
else
data_count=count;
//--- check data rangeif(data_count==0)
return(QNaN);
if(start+data_count>size)
return(QNaN);
//--- set indexesint ind1=start;
int ind2=ind1+data_count-1;
//--- first element by default, find maximumdouble max_value=array[ind1];
for(int i=ind1+1; i<=ind2; i++)
max_value=MathMax(max_value,array[i]);
//--- return maximum valuereturn(max_value);
}
//+------------------------------------------------------------------+//| Computes the range of the values in array[] |//+------------------------------------------------------------------+double MathRange(constdouble &array[],constint start=0,constint count=WHOLE_ARRAY)
{
int size=ArraySize(array);
int data_count=0;
//--- set data countif(count==WHOLE_ARRAY)
data_count=size;
else
data_count=count;
//--- check data rangeif(data_count==0)
return(QNaN);
if(start+data_count>size)
return(QNaN);
//--- set indexesint ind1=start;
int ind2=ind1+data_count-1;
//--- default values, find minimum and maximum valuesdouble min_value=array[ind1];
double max_value=array[ind1];
for(int i=ind1+1; i<=ind2; i++)
{
double value=array[i];
min_value=MathMin(min_value,value);
max_value=MathMax(max_value,value);
}
//--- return rangereturn(max_value-min_value);
}
//+------------------------------------------------------------------+//| Computes the sum of the values in array[] |//+------------------------------------------------------------------+double MathSum(constdouble &array[],constint start=0,constint count=WHOLE_ARRAY)
{
int size=ArraySize(array);
int data_count=0;
//--- set data countif(count==WHOLE_ARRAY)
data_count=size;
else
data_count=count;
//--- check data rangeif(data_count==0)
return(QNaN);
if(start+data_count>size)
return(QNaN);
//--- set indexesint ind1=start;
int ind2=ind1+data_count-1;
//--- calculate sumdouble sum=0.0;
for(int i=ind1; i<=ind2; i++)
sum+=array[i];
//--- return sumreturn(sum);
}
//+------------------------------------------------------------------+//| Computes the standard deviation of the values in array[] |//+------------------------------------------------------------------+double MathStandardDeviation(constdouble &array[],constint start=0,constint count=WHOLE_ARRAY)
{
int size=ArraySize(array);
int data_count=0;
//--- set data countif(count==WHOLE_ARRAY)
data_count=size;
else
data_count=count;
//--- check data rangeif(data_count<=1)
return(QNaN);
if(start+data_count>size)
return(QNaN);
//--- set indexesint ind1=start;
int ind2=ind1+data_count-1;
//--- calculate meandouble mean=0.0;
for(int i=ind1; i<=ind2; i++)
mean+=array[i];
//--- average mean
mean=mean/data_count;
//--- calculate standard deviation double sdev=0;
for(int i=ind1; i<=ind2; i++)
sdev+=MathPow(array[i]-mean,2);
//--- return standard deviationreturnMathSqrt(sdev/(data_count-1));
}
//+------------------------------------------------------------------+//| Computes the average absolute deviation of the values in array[] |//+------------------------------------------------------------------+double MathAverageDeviation(constdouble &array[],constint start=0,constint count=WHOLE_ARRAY)
{
int size=ArraySize(array);
int data_count=0;
//--- set data countif(count==WHOLE_ARRAY)
data_count=size;
else
data_count=count;
//--- check data rangeif(data_count<=1)
return(QNaN);
if(start+data_count>size)
return(QNaN);
//--- set indexesint ind1=start;
int ind2=ind1+data_count-1;
//--- calculate meandouble mean=0.0;
for(int i=ind1; i<=ind2; i++)
mean+=array[i];
mean=mean/data_count;
//--- calculate average deviationdouble adev=0;
for(int i=ind1; i<=ind2; i++)
adev+=MathAbs(array[i]-mean);
adev=adev/data_count;
//--- return average deviationreturn(adev);
}
//+------------------------------------------------------------------+//| Computes the median value of the values in array[] |//+------------------------------------------------------------------+double MathMedian(double &array[],constint start=0,constint count=WHOLE_ARRAY)
{
int size=ArraySize(array);
int data_count=0;
//--- set data countif(count==WHOLE_ARRAY)
data_count=size;
else
data_count=count;
//--- check data rangeif(data_count==0)
return(QNaN);
if(start+data_count>size)
return(QNaN);
//--- set indexesint ind1=start;
int ind2=ind1+data_count-1;
//--- prepare sorted valuesdouble sorted_values[];
ArrayCopy(sorted_values,array,0,start,count);
ArraySort(sorted_values);
//--- calculate median for odd and even cases//--- data_count=oddif(data_count%2==1)
return(sorted_values[data_count/2]);
else//--- data_count=evenreturn(0.5*(sorted_values[(data_count-1)/2]+sorted_values[(data_count+1)/2]));
}
//+------------------------------------------------------------------+//| Computes the mean value of the values in array[] |//+------------------------------------------------------------------+double MathMean(constdouble &array[],constint start=0,constint count=WHOLE_ARRAY)
{
int size=ArraySize(array);
int data_count=0;
//--- set data countif(count==WHOLE_ARRAY)
data_count=size;
else
data_count=count;
//--- check data rangeif(data_count<1)
return(QNaN); // need at least 1 observationif(start+data_count>size)
return(QNaN);
//--- set indexesint ind1=start;
int ind2=ind1+data_count-1;
//--- calculate meandouble mean=0.0;
for(int i=ind1; i<=ind2; i++)
mean+=array[i];
mean=mean/data_count;
//--- return meanreturn(mean);
}
//+------------------------------------------------------------------+//| Computes the variance of the values in array[] |//+------------------------------------------------------------------+double MathVariance(constdouble &array[],constint start=0,constint count=WHOLE_ARRAY)
{
int size=ArraySize(array);
int data_count=0;
//--- set data countif(count==WHOLE_ARRAY)
data_count=size;
else
data_count=count;
//--- check data rangeif(data_count<2)
return(QNaN); // need at least 2 observationsif(start+data_count>size)
return(QNaN);
//--- set indexesint ind1=start;
int ind2=ind1+data_count-1;
//--- calculate meandouble mean=0.0;
for(int i=ind1; i<=ind2; i++)
mean+=array[i];
mean=mean/data_count;
//--- calculate variancedouble variance=0;
for(int i=ind1; i<=ind2; i++)
variance+=MathPow(array[i]-mean,2);
variance=variance/(data_count-1);
//--- return variancereturn(variance);
}
//+------------------------------------------------------------------+//| Computes the skewness of the values in array[] |//+------------------------------------------------------------------+double MathSkewness(constdouble &array[],constint start=0,constint count=WHOLE_ARRAY)
{
int size=ArraySize(array);
int data_count=0;
//--- set data countif(count==WHOLE_ARRAY)
data_count=size;
else
data_count=count;
//--- check data rangeif(data_count<3)
return(QNaN); // need at least 3 observationsif(start+data_count>size)
return(QNaN);
//--- set indexesint ind1=start;
int ind2=ind1+data_count-1;
//--- calculate meandouble mean=0.0;
for(int i=ind1; i<=ind2; i++)
mean+=array[i];
mean=mean/data_count;
//--- calculate variance and skewnessdouble variance=0;
double skewness=0;
for(int i=ind1; i<=ind2; i++)
{
double sqr_dev=MathPow(array[i]-mean,2);
skewness+=sqr_dev*(array[i]-mean);
variance+=sqr_dev;
}
variance=(variance)/(data_count-1);
double v3=MathPow(MathSqrt(variance),3);
//---if(v3!=0)
{
skewness=skewness/(data_count*v3);
//--- return skewnessreturn(skewness);
}
elsereturn(QNaN);
}
//+------------------------------------------------------------------+//| Computes the kurtosis of the values in array[] |//+------------------------------------------------------------------+double MathKurtosis(constdouble &array[],constint start=0,constint count=WHOLE_ARRAY)
{
int size=ArraySize(array);
int data_count=0;
//--- set data countif(count==WHOLE_ARRAY)
data_count=size;
else
data_count=count;
//--- check data rangeif(data_count<4)
return(QNaN); // need at least 4 observationsif(start+data_count>size)
return(QNaN);
//--- set indexesint ind1=start;
int ind2=ind1+data_count-1;
//--- calculate meandouble mean=0.0;
for(int i=ind1; i<=ind2; i++)
mean+=array[i];
mean=mean/data_count;
//--- calculate variance and kurtosisdouble variance=0;
double kurtosis=0;
for(int i=ind1; i<=ind2; i++)
{
double sqr_dev=MathPow(array[i]-mean,2);
variance+=sqr_dev;
kurtosis+=sqr_dev*sqr_dev;
}
//--- calculate variance
variance=(variance)/(data_count-1);
double v4=MathPow(MathSqrt(variance),4);
if(v4!=0)
{
//--- calculate kurtosis
kurtosis=kurtosis/(data_count*v4);
kurtosis-=3;
//--- return kurtosisreturn(kurtosis);
}
elsereturn(QNaN);
}
et maintenant elles ne sont pas dans cette liste, j'ai regardé dans d'autres listes de l'annuaire Math, mais je n'ai pas trouvé ces fonctions là non plus.
Ont-ils été supprimés ou ont-ils été effacés accidentellement ?
Alexey Viktorov: Pourquoi en avez-vous besoin alors que vous disposez de l'ensemble des fonctions mathématiques.
Avant de répondre, comparez-la avec celles que j'ai publiées dans la liste. D'ailleurs, ces fonctions sont répertoriées dans l'aide de la bibliothèque standard, il est donc plus probable que quelqu'un les ait accidentellement effacées.
Avant de répondre, comparez-la avec celles que j'ai publiées dans la liste. Au fait, ces fonctions sont répertoriées dans l'aide de la bibliothèque standard, il est donc plus probable que quelqu'un les ait accidentellement effacées.
La réponse de servicedesk, les fonctions de données de la bibliothèque standard ont été supprimées volontairement, le problème est résolu. L'aide doit également être mise en ligne, car on perd parfois du temps à chercher quelque chose qui n'est plus dans la fonctionnalité.
Comment est-ce possible ? J'ouvre un compte de démonstration sur un serveur de la société btc-e.com, mais il s'ouvre sur un serveur complètement différent d'une autre société !
btc-e fournit un pont MT4 à leur échange. fxopen sont parmi ceux qui l'utilisent et ont probablement été les premiers à le faire.
Je soupçonne btc-e de s'être mis d'accord avec eux pour ne pas s'embêter avec les comptes de démonstration. Ou peut-être qu'ils travaillent déjà entièrement à travers eux sur mt4.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Cela a peut-être déjà été fait, mais laissez-moi demander :
pourquoiPOSITION_COMMISSION n'est pas mis en évidence et ne figure pas dans l'aide ?
Cette constante n'est plus pertinente, mais nous ne pouvons malheureusement pas la rejeter. C'est pourquoi il n'est pas éclairé dans le compilateur.
Je ne vois pas de contradiction.
Contradiction avec quoi ?
J'ai montré un solde négatif dans le testeur. De plus, l'équité était en dessous de zéro. Je dois supposer que c'est un bug.
Je ne comprends rien, MT5 version 1545. Dans les versions précédentes, il y avait des fonctions dans le listing Math.mqh :
et maintenant elles ne sont pas dans cette liste, j'ai regardé dans d'autres listes de l'annuaire Math, mais je n'ai pas trouvé ces fonctions là non plus.
Ont-ils été supprimés ou ont-ils été effacés accidentellement ?
J'ai vérifié jusqu'à la version 1554 de MT5, même histoire, ces fonctions ne sont plus là.
Pourquoi en avez-vous besoin alors que vous disposez de l'ensemble des fonctions mathématiques.
Avant de répondre, comparez-la avec celles que j'ai publiées dans la liste. D'ailleurs, ces fonctions sont répertoriées dans l'aide de la bibliothèque standard, il est donc plus probable que quelqu'un les ait accidentellement effacées.
Avant de répondre, comparez-la avec celles que j'ai publiées dans la liste. Au fait, ces fonctions sont répertoriées dans l'aide de la bibliothèque standard, il est donc plus probable que quelqu'un les ait accidentellement effacées.
La réponse de servicedesk, les fonctions de données de la bibliothèque standard ont été supprimées volontairement, le problème est résolu. L'aide doit également être mise en ligne, car on perd parfois du temps à chercher quelque chose qui n'est plus dans la fonctionnalité.
Comment est-ce possible ? J'ouvre un compte de démonstration sur un serveur de la société btc-e.com, mais il s'ouvre sur un serveur complètement différent d'une autre société !

btc-e fournit un pont MT4 à leur échange. fxopen sont parmi ceux qui l'utilisent et ont probablement été les premiers à le faire.
Je soupçonne btc-e de s'être mis d'accord avec eux pour ne pas s'embêter avec les comptes de démonstration. Ou peut-être qu'ils travaillent déjà entièrement à travers eux sur mt4.