Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 28

 
Vladimir Karputov:

Aplazado:

Gevorg Hakobyan, 2016.12.08 15:26

Hola. ¿Cómo puedo obtener una lista de todos los pares de divisas existentes en Meta Trader 4? ¿Y cómo estar al tanto de cualquier cambio en la lista?
https://docs.mql4.com/ru/marketinformation/symbolstotal
SymbolsTotal - Получение рыночной информации - Справочник MQL4
SymbolsTotal - Получение рыночной информации - Справочник MQL4
  • docs.mql4.com
SymbolsTotal - Получение рыночной информации - Справочник MQL4
 
Sergey Gritsay:

SímbolosTotal

Devuelve el número de símbolos disponibles (seleccionados en MarketWatch o todos).

intSímbolosTotal(
bool selected// true - sólo símbolos en MarketWatch
);

Parámetros

seleccionado

[en] Modo de solicitud. Puede tomar los valores verdadero o falso.

Valor devuelto

Si selected es true, se devuelve el número de caracteres seleccionados en MarketWatch. Si es falso, devuelve el número total de todos los símbolos.

Gracias, Sergei. Pero no necesito una cantidad, sino una lista de todas las existentes, para procesar y calcular la fuerza de la moneda en el mercado.
 
Gracias Renat. Pero no necesito una cantidad, sino una lista de todas las existentes, para procesar y calcular la fuerza de la moneda en el mercado.

 
En las cuentas demo y reales del mismo broker esta lista tiene un número diferente de pares de divisas. Escribo un indicador que calcula los datos de la divisa seleccionada de entre todos los pares de divisas en los que está presente. Dado que el indicador debe funcionar en todas las cuentas, debe tener en cuenta la disponibilidad de estos pares por adelantado.
 
Gevorg Hakobyan:
Gracias Renat. Pero no necesito una cantidad, sino una lista de todas las existentes, para procesar y calcular la fuerza de la moneda en el mercado.

Hay muchas funciones allí, vea lo que necesita de esa sección

https://docs.mql4.com/ru/marketinformation/symbolname

SymbolName - Получение рыночной информации - Справочник MQL4
SymbolName - Получение рыночной информации - Справочник MQL4
  • docs.mql4.com
SymbolName - Получение рыночной информации - Справочник MQL4
 
Gevorg Hakobyan:
Gracias Renat. Pero lo que necesito no es una cantidad, sino una lista de todas las existentes, para procesar y calcular la fuerza de la moneda en el mercado.

Primero obtenemos la lista de todos los símbolos:

//+------------------------------------------------------------------+
//|                                                   AllSymbols.mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   int count=SymbolsTotal(false); // false - all symbols in MarketWatch
   for(int i=0;i<count;i++)
      Print(i,": ",SymbolName(i,false));
  }
//+------------------------------------------------------------------+

Aquí utilizamos la enumeración de todos los símbolos disponibles en MarketWatch.

Pero una simple lista no nos dará nada. Para obtener las propiedades de un símbolo, primero debemos seleccionarlo(SymbolSelect).

Archivos adjuntos:
 
Vladimir Karputov:

Primero obtenemos una lista de todos los símbolos:

Para ello se realiza una búsqueda entre todos los símbolos disponibles en MarketWatch.

Pero una simple lista no le dará nada. Para obtener las propiedades de un símbolo, primero hay que seleccionarlo(SymbolSelect).

Aquí hay un error de imprenta:int count=SymbolsTotal(false);// false - todos los símbolos en MarketWatch- //Sifalse, entonces se devuelve el número total de todos los símbolos.
La lista dará lo que la persona pidió, es decir, información sobre todos los símbolos. Y luego seleccionar y procesar cada una de ellas por separado.
 
Gracias a todos. Creo que he encontrado una solución. Primero intentaré comparar mi lista con la de MarketWatch. Si hay nuevas parejas, las añadiré a mi lista, y si no hay parejas, simplemente eliminaré las innecesarias. Sólo que ahora hay un nuevo problema: los resultados serán ambiguos y dependerán de MarketWatch.
 

¡Buenos días a todos! ¿Puede usted por favor aconsejar cómo establecer un borrado de órdenes en un EA?

La situación es la siguiente:

Colocamos 2órdenes pendientes en diferentes direcciones, en cuanto una de ellas se dispara, la otra se elimina y deja de estar expuesta.

Estaría muy agradecido por cualquier ayuda.

Se lo agradeceré mucho.

 
yaaarik777:

¡Buenos días a todos! ¿Puede usted por favor aconsejar cómo establecer un borrado de órdenes en un EA?

La situación es la siguiente:

Colocamos 2órdenes pendientes en diferentes direcciones, en cuanto una de ellas se dispara, la otra se elimina y deja de estar expuesta.

Estaría muy agradecido por cualquier ayuda.

Gracias.

Si la cantidad de órdenes pendientes es inferior a 2, elimina la que quedaba.

Si no queremos devolver la orden pendiente, es más difícil, tenemos que analizar el tiempo y las condiciones para colocar la orden.

Razón de la queja: