![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
>> TIENES QUE CAMBIAR TU AVATAR.
¡¡¡+10!!!
Es mejor conducir un carro. Es más saludable y no hay necesidad de carreteras normales.Resulta que tampoco utiliza los teléfonos, porque el canal de frecuencia de tono le viene mal (aunque probablemente no haya ningún sitio al que llamar desde Kanatchikovskaya Dacha)
Los expertos se preocupan por los daños en la audición causados por los reproductores de MP3
http://www.smh.com.au/news/digital-music/turn-it-down/2007/01/04/1167777193761.html?from=rss
Le sugiero que lea a Malakhov. Hay un montón de cosas interesantes para ti, adelante...
timbo писал(а) >>
Se crea una estrategia rentable sobre un proceso aleatorio estacionario a la cuenta de uno.
Lo dices de una sola vez.
Por favor, no seas perezoso y escribe un script en mql que simule una estrategia ganadora en un proceso con distribución normal.
Desde que trabajo con esto, siempre he visto que no es una tarea trivial en absoluto. Por regla general, al intentar obtener una ganancia mediante un proceso estacionario obtenemos uno de estos dos resultados: o bien la expectativa matemática de la operación = 0 o los beneficios son tan pequeños que es mejor que guarde mi dinero en el banco. Creo que el problema puede resolverse para que las ganancias sean al menos algo perceptibles, pero no es fácil.
Al mismo tiempo me gustaría dirigirme a la gente: ¿Alguien tiene una función que devuelva un valor con distribución normal en un rango (0,1)? Ayer maté todo el día, pero aún no he descubierto cómo implementarlo en mql.
También me gustaría preguntar a la gente: ¿alguien tiene una función que devuelva un valor con distribución normal en el rango (0,1)? Ayer maté todo el día, pero aún no he descubierto cómo implementarlo en mql.
La función MQL MahtRand() permite hacerlo fácilmente. Como sabes, devuelve un entero pseudoaleatorio con una distribución uniforme en el rango de 0 a 32767. Y la F.D.P. de la distribución normal asigna el eje numérico [0, inf.] al intervalo [0, 1]. Por lo tanto, para obtener un valor normalmente distribuido, sólo hay que tomar un mapeo inverso del intervalo [0, 1] al eje Oh. La única cuestión es que el argumento se elige al azar. Para esto se utiliza MahtRand().
Es decir, primero se carga una tabla de valores P.D.F. de la distribución normal en el programa numéricamente como [x, F(x)].
A continuación, se establece una función que mapea uniformemente [1, 32767] a (0, 1), f(x) = x/32768. Como puede ver, los valores 0 y 1 están excluidos del intervalo. Por lo tanto, el valor x=0 también debe ser omitido. Estos efectos marginales pueden contabilizarse de diferentes maneras, pero son de poca importancia.
Ahora genere una serie pseudo-aleatoria con MahtRand(), mapee cada uno de los valores resultantes a un intervalo unitario, y usando ese punto como el valor de la F.D.P. de la distribución normal F(x), encuentre el argumento x correspondiente. Eso es todo. Se trata de un valor con distribución normal.
Yurixx писал(а) >>
Ciertamente, da salida a algunas tonterías, pero ya no tengo fuerzas para mejorarla. Si alguien tiene tiempo y ganas, puede mejorarlo. El error aquí es que la función RandN() calcula la densidad de la distribución en lugar de la función de Laplace. Si alguien no tiene problemas para calcular la integral de esta función, por favor, compártalo con el público. Ahora me resulta difícil pensar cómo calcular la integral en mql.Sí, es una opción. Pero igual me gustaría hacer una función independiente en mql. Sin cargar valores aleatorios desde el exterior.
Por lo que sé, la distribución normal se puede obtener fácilmente a partir de la uniforme tomando la función inversa de Laplace del valor uniforme en el intervalo (0,1).
Ríete todo lo que quieras, pero tengo un problema con tomar la función inversa de Laplace de MathRand()/32768.
Así que aquí hay un script, que por idea debería dar salida al archivo "RandN(0-1).csv" ese valor muy normal en el intervalo (0,1).
Benik, hay algo aquí. ¿Puedes descubrirlo por ti mismo?