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
Algunos CC en cuentas reales asignan todo tipo de prefijos como "." o "FXF" a los nombres de los símbolos.
¿Cómo puedo utilizar estos prefijos?
Lo hice:
#define DEF_SPEC "FXF"
string SymbolsTrade[] = {"AUDCAD "DEF_SPEC ... -no funciona
string SymbolsTrade[] = {"AUDCAD "+DEF_SPEC ... -tampoco funciona así
todo lo que obtengo es FXF en lugar del requerido AUDCADFXF.
¿Podría decirme cómo implementar esto?
En primer lugar, el llenado de un array con enumeración sólo es posible en el ámbito global, por lo que no funcionará ningún + allí, sólo las constantes de cadena.
En segundo lugar, tienes un array estático que no está distribuido, mientras que un array dinámico no se puede llenar con un enum.
La forma más fácil es escribir una función que distribuya y llene un array dinámico, puede hacer de todo, añadir definiciones a las constantes, etc.
En primer lugar, rellenar un array con una enumeración sólo es posible en el ámbito global, por lo que allí no funcionará ningún +, sólo las constantes de cadena.
En segundo lugar, no ha distribuido el array estático, y el array dinámico no puede ser llenado por la enumeración.
Lo más fácil es escribir una función que distribuya y llene el array dinámico, puede hacer de todo, añadir definiciones con constantes, etc.
También puede intentar buscar todos los pares de divisas existentes en BC/BROKER y analizar las divisas compuestas en ellos.
A continuación, puede crear una matriz dinámica de pares de divisas teniendo en cuenta la adición de cualquier prefijo.
Que yo recuerde es una de las opciones universales para MT5.
En primer lugar, rellenar un array con una enumeración sólo es posible en el ámbito global, por lo que allí no funcionará ningún +, sólo las constantes de cadena.
En segundo lugar, no ha distribuido el array estático, y el array dinámico no puede ser llenado por la enumeración.
La forma más sencilla es escribir una función que distribuya y llene el array dinámico, puede hacer de todo, añadir definiciones a las constantes, etc.
En resumen, si te he entendido bien, no puedes crear un array estático de constantes compuestas en el ámbito global, ¿verdad?
Puedes ver el código en el código fuente. Se utilizan dos métodos para encontrar la divergencia:
1. El método bool CSignalMACD::ExtState(int ind) prepara los datos para la búsqueda;
2. El método bool CSignalMACD::CompareMaps(int map,int count,bool minimax,int start) busca un modelo de mercado con los parámetros especificados.
Si te sirve de ayuda, aquí tienes los comentarios a los métodos en ruso:
Para el método bool CSignalMACD::ExtState(int ind)
Para el método bool CSignalMACD::CompareMaps(int map,int count,bool minimax,int start)
También tengo una pregunta, ¿cómo especificar la variante de divergencia al crear un Asesor Experto utilizando la señal MACD? Hay varias variantes de señales en el manual.
Como todo el mundo ha notado ya, cualquier señal puede detectar múltiples patrones de mercado. Para controlar el uso de los patrones , llame al método PatternsUsage(int value), donde value es el mapa de bits del uso del patrón (el número de bits y el número del patrón son iguales). El bit es 1 - se utiliza el modelo, el bit es 0 - no se utiliza el modelo (por defecto todos los bits son 1). La numeración de los modelos, así como de los bits, comienza en 0.
Por lo tanto, si desea utilizar sólo la divergencia, debe utilizar PatternsUsage(16);. ¿Por qué 16? 16 es binario 10000b (es decir, el bit 4 es 1, todos los demás bits son 0). Y sólo el modelo 4 "divergencia del oscilador y el precio".
El único "pero", es que tendrás que hacerlo "manualmente".
Una vez completado el asistente, el código fuente se abrirá en el editor. Encuentra un lugar como este en el editor:
y añadir una línea
filter0.PatternsUsage(16);
lo conseguirás:
Eso es todo por ahora. Si tiene alguna pregunta, no dude en ponerse en contacto conmigo.
Como todo el mundo ha notado ya, cualquier señal puede detectar múltiples patrones de mercado. Para controlar el uso de los patrones , llame al método PatternsUsage(int value), donde value es el mapa de bits del uso del patrón (el número de bits y el número del patrón son iguales). El bit es 1 - se utiliza el modelo, el bit es 0 - no se utiliza el modelo (por defecto todos los bits son 1). La numeración del modelo, así como los bits, empiezan por 0.
Por lo tanto, si sólo desea utilizar la divergencia, debe utilizar PatternsUsage(16);. ¿Por qué 16? 16 es 10000b en binario (es decir, el bit 4 es 1, los demás bits son 0). Y sólo el modelo 4 "divergencia del oscilador y el precio".
El único "pero", es que tendrás que hacerlo "manualmente".
Una vez completado el asistente, el código fuente se abrirá en el editor. Encuentra un lugar como este en el editor:
y añadir una línea
filter0.PatternsUsage(16);
...lo consigues:
Eso es todo por ahora. Si tiene alguna pregunta, no dude en ponerse en contacto conmigo.
Gracias. Ha funcionado. Y hay más preguntas de inmediato. En esta variante de la divergencia, ¿qué intervalo de tiempo entre los máximos (mínimos) vecinos se tiene en cuenta?
Tengo un experto con el que intento afrontar los acontecimientos.
Recibo eventos que no se corresponden con las acciones.
Corresponde exactamente a un clic en el gráfico y a un clic en un botón
Un evento controvertido id=9(CHARTEVENT_CUSTOM), que se genera cuando, por ejemplo, el gráfico se desplaza y hay unos 10 eventos similares.
No se ha comprobado el eventoCHARTEVENT_OBJECT_ENDEDIT.
El resto no está claro. O bien la descripción no coincide con el número de evento, o bien el evento de creación de un objeto se genera incorrectamente al crear un objeto manualmente.
En general, por favor, ayuda.
Tengo un experto con el que intento afrontar los acontecimientos.
Recibo eventos que no se corresponden con las acciones.
Coincide exactamente con un clic en el gráfico y un clic en un botón
Un evento controvertido id=9(CHARTEVENT_CUSTOM), que se genera cuando, por ejemplo, el gráfico se desplaza y hay unos 10 eventos similares.
No se ha comprobado el eventoCHARTEVENT_OBJECT_ENDEDIT.
El resto no está claro. O bien la descripción no coincide con el número de evento o bien el evento de creación de un objeto se genera incorrectamente al crear el objeto manualmente.
En definitiva, por favor, ayuda.
Inicialmente se asignan correspondencias numéricas a las constantes numéricas ya asignadas CHARTEVENT_XXXXXX...
el problema es este:
que necesitas:
Los demás no están claros. O bien la descripción no coincide con el número de evento, o bien el evento de, por ejemplo, la creación de un objeto no se genera correctamente cuando el objeto se crea manualmente.
Lamentablemente, su pregunta no es clara. ¿Qué está fallando exactamente?