forked from e187038/SP_GVA1
58 lines
No EOL
3.2 KiB
MQL5
58 lines
No EOL
3.2 KiB
MQL5
|
|
//+------------------------------------------------------------------+
|
|
//| Expert tick function |
|
|
//+------------------------------------------------------------------+
|
|
void OnTick()
|
|
{
|
|
//---
|
|
double capital=1000;
|
|
double capitalfinal;
|
|
double periodoenanos=3;
|
|
double tasainteres=0.045; //no está en formato porcentaje
|
|
double miarray[] = {5.0, 3.0, 1.0, 4.0, 2.0,3.1,4.5,11.7,9.3,2.333};
|
|
double desvi;
|
|
|
|
|
|
capitalfinal=InteresCompuesto(capital,tasainteres,periodoenanos);
|
|
desvi=DesviacionTipica (miarray);
|
|
//
|
|
|
|
//DASHBOARD
|
|
|
|
Comment("© Singularity Partners 2024","\n",
|
|
" CODE LINE:",__LINE__,"\n",
|
|
" valor capital final: ", capitalfinal, " \n",
|
|
"Desviaçao;: ", desvi);
|
|
}
|
|
//+------------------------------------------------------------------+
|
|
//MIS FUNCIONES
|
|
double InteresCompuesto (double pcapitalinicial,double ptasainteres, double anos=1) {
|
|
|
|
double capitalfinal;
|
|
capitalfinal=MathPow ((1+ptasainteres),anos)*pcapitalinicial;
|
|
return (capitalfinal);
|
|
}
|
|
//----------------------------------------------------------
|
|
// Calcula desviación típica de un array de doubles
|
|
double DesviacionTipica (double &parray[]) {
|
|
int tamano;
|
|
double media=0,suma=0,desviacion;
|
|
|
|
tamano=ArraySize(parray);
|
|
Print (tamano);
|
|
|
|
for (int i=0;i<=tamano-1;i++) {
|
|
// Print (i, " tu padre ? ",parray[i]);
|
|
//Print (tamano," ",__LINE__);
|
|
suma=suma+parray[i];
|
|
}
|
|
media=suma/tamano;
|
|
suma=0;
|
|
|
|
for (int i=0;i<=tamano-1;i++) {
|
|
suma += MathPow(parray[i] - media, 2);
|
|
}
|
|
desviacion = MathSqrt(suma / tamano);
|
|
|
|
return (desviacion);
|
|
} |