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
Si está interesado en calcular los datos de otro indicador, puede hacerlo de la siguiente manera. Primero, creamos otro indicador con su propio método de cálculo de datos, y luego tomamos el handle de este indicador(MQL5 Reference Guide / Technical Indicators / iCustom ) y este handle se utiliza en el nuevo indicador. Fíjate bien en el ejemplo. Si tiene alguna duda sobre el ejemplo
Tengo preguntas. Todavía no lo entiendo.
Ok, tomemos Custom Moving Average.mq5 como base.
añadir el nuevo procedimiento de suavizado MODE_MYMA - no hay problema.
la pregunta es como alimentar los datos. a través del i-cast de otro indicador? ok. tomemos cualquier indicador hecho por la segunda forma como ejemplo (si el indicador es hecho por la primera forma... no se como tomar el high-low... entonces significa solo la segunda forma?)
Bien, declaremos
int nuevoManejo;
definirlo en el onInit (parabólico, es decir, lo que sea, lo principal es el 2º tipo, ¿no? Entiendo cómo implementar el mío)
newHandl=iCustom(_Symbol,0, "ParabolicSAR.mq5",0.02,0.2);
y luego? en onCalculate lo alimentamos en lugar del precio estándar?
CalculateEMA(rates_total,prev_calculated,begin,newHandl);???
¿jura o qué? Por favor, explique, no entiendo... (((((
sí, sigo utilizando las plantillas de mcl4. allí, es simple - bucle, datos (¡cualquiera!) tomar, suavizar, salida.
Pero aquí.... No sé a qué agarrarme...
(si el indicador se hace por la primera forma... no entendí de donde tomar el alto-bajo... entonces significa solo por la segunda forma?)
Sí, acerca de la alta-baja era sólo un ejemplo, cómo tratar los artículos por sí mismo. Para la primera forma se puede tomar la tarea de dibujar la línea de close[i]/2 [o sqrt(close[i]/2 )]. En general, también se pueden hacer un montón de variaciones con una sola matriz.
Bien, declaremos
int nuevoManejo;
en onInit definirlo (como un ejemplo - parabólica. lo que sea, lo principal es el segundo tipo, ¿no? cómo implementar su propio es más o menos claro)
newHandl=iCustom(_Symbol,0, "ParabolicSAR.mq5",0.02,0.2);
Eso está bien. Lo terminaré ahora.
Si el asa del indicador es correcta, significa que podemos dirigirnos a los búferes de este indicador. Mira de nuevo el ejemplo de MQL5 Reference / Technical Indicators / iCustom Hay una línea:
Ahora lee MQL5 Reference / Access to Timeseries and Indicators / CopyBuffer (...De nuevo: muchas cosas se aclaran al analizar los ejemplos línea por línea).
Intenta recibir los datos de cualquier búfer indicador que haya seleccionado. Yo no tengo un terminal, pero en la parabólica se puede ver qué buffers se calculan y su numeración.
Pregunta sobre la descripción de las funciones ArrayIsSeries() y ArrayGetAsSeries().
Existe una frase de este tipo en el Manual de Referencia:"Las matrices que se pasan a la función reflejan los datos de los precios, es decir, estas matrices tienen el signo de la serie temporal y la función ArrayIsSeries() devolverá true al comprobar estas matrices . Pero aún así, en cualquier caso, la dirección de indexación debe comprobarse sólo con la funciónArrayGetAsSeries()".
De la lectura literal se desprende que, aunque la función ArrayIsSeries( ) devuelva true (es decir, confirme que el array que se está comprobando es un array de series temporales), de todas formas la dirección de indexación sólo debería ser comprobada por la función ArrayGetAsSeries(). Entonces no entiendo la razón de introducir la función ArrayIsSeries() si sus resultados deben ser comprobados adicionalmente de todos modos. ¿Qué sentido tiene? ¿Es posible que la matriz sea una serie temporal, pero su dirección de indexación no será la misma que la de una serie temporal (el indicador AS_SERIES no estará activado)?
Al pasar de Mql4 a Mql5 ha aparecido un error de Lot:
Lote" - la constante no puede ser modificada
¿Cómo se corrige?
Al pasar de Mql4 a Mql5, se ha producido un error en el lote:
Lote" - la constante no puede ser modificada
¿Cómo se arregla?
No se puede. No es un error, es una característica. :)
En mql5 las variables de entrada no son modificables (const).
Hacer un desacoplamiento simple:
En la secciónMQL5 Manual / Array Operations / ArraySetAsSeries, hay un ejemplo cuando la función ArraySetAsSeries() se aplica al array const datetime&time[] en cada tick:
¿Es esto lo que todo el mundo hace (voltear el array en cada tick) para trabajar con el array como una serie temporal?
Otra pregunta: ¿pueden las matrices utilizadas por OnCalculate() cambiar arbitrariamente su dirección de indexación? ¿O es suficiente con comprobar esta dirección una vez?
Al portar de Mql4 a Mql5 un error SymbolInfoDouble:
'SymbolInfoDouble' - no se puede aplicar ninguna de las sobrecargas a la llamada a la función
¿Cómo lo corrijo?
Al pasar de Mql4 a Mql5, ha aparecido el error SymbolInfoDouble:
'SymbolInfoDouble' - no se puede aplicar ninguna de las sobrecargas a la llamada a la función
¿Cómo lo corrijo?
¿Por qué hay un 0 en la parte inferior?
https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants#enum_symbol_info_double
Y además de esto, comprueba la división por 0.
Los resultados del comprobador de estrategias se muestran en gráficos:
¿Pueden decirme dónde encontrar el significado de los diferentes colores de los gráficos?
Los resultados del comprobador de estrategias se muestran en gráficos:
¿Puede decirme dónde encontrar lo que significan los diferentes colores de los gráficos?