Longitud máxima de un nombre de símbolo en FOREX - página 3

 
Vitaly Muzichenko:

Pero no entiendo el problema, por qué no se puede sustituir un carácter allí independientemente de su longitud

Debido a que la magia es de tipo ulong (8 bytes) se utilizan 6 bytes para la magia básica y dos bytes para las variaciones de esa magia

 
Vitaly Muzichenko:

Pero no entiendo el problema, por qué no se puede poner un carácter inmediatamente, independientemente de su longitud

Aquí hay un trozo de código. Creo que lo verás.

string FindSymbol(const string str)
{
     
     string symbol = NULL, sym = str;
     if( !StringToUpper( sym ) ) return symbol;

     for(i=0; i<SymbolsTotal(false); i++)
     {
          string s = SymbolName(i, false);
          if( !StringToUpper( s ) ) continue;
          if(StringFind(sym, s, 0) < 0 &&
             StringFind(s, sym, 0) < 0) continue;
          symbol = SymbolName(i, false);
          break;
     }

     return symbol;
}
Las situaciones pueden ser diferentes. Especialmente cuando se escribe para clientes, es mejor comprobarlo dos veces.
 
prostotrader:

Dado que la magia es de tipo ulong (8 bytes) se utilizan 6 bytes para el mago principal y dos bytes para las variaciones de ese mago

¿Qué te parece esto?

string GetForexName(string Str)
  {
  string ch, res;
  string mass[26]={"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
  int Len=StringLen(Str);
  // цикл по буквам строки
   for(int i=0;i<Len;i++)
     {
      ch=StringSubstr(Str,i,1);
      for(int c=0;c<26;c++)
       {
        if(mass[c]==ch)
          res+=ch;
          break;
       }
     }
//---
   return(res);
  }

//Print( GetForexName(/*_Symbol*/".AUDCHFnosp") ); // получим чистый символ, без префиксов и суффиксов "AUDCHF"
 
Alexander Bereznyak:

si sólo se utilizan pares de divisas:

Para SymbolInfoString()

ENUM_SYMBOL_INFO_STRING

Identificador

Descripción

Tipo de propiedad

SYMBOL_BASIS

Nombre del activo subyacente del derivado

cadena

SÍMBOLO_DIVISA_BASE

Moneda base del instrumento

cadena

SÍMBOLO_DIVISA_GANANCIA

Divisa de los beneficios

cadena

SÍMBOLO_MARGEN_DIVISA

Moneda en la que se calcula el margen

cadena

SYMBOL_BANK

Fuente de cotización actual

cadena

DESCRIPCIÓN_DEL_SÍMBOLO

Cadena de descripción del símbolo

cadena

SYMBOL_FORMULA

Fórmula para construir el precio de un símbolo personalizado

cadena

SYMBOL_ISIN

Nombre de un símbolo comercial en el sistema del Número Internacional de Identificación de Valores (ISIN). El Número Internacional de Identificación de Valores es un código alfanumérico de 12 dígitos que identifica de forma exclusiva un valor. La presencia de esta característica se define en el lado del servidor comercial.

cadena

PÁGINA_SÍMBOLO

Dirección de la página web que contiene información sobre el símbolo. Esta dirección se mostrará como un enlace al ver las propiedades del símbolo en el terminal

cadena

SYMBOL_PATH

Ruta en el árbol de símbolos

cadena

Gracias, ¿alguien puede comprobar qué se devuelve si se consultaSYMBOL_DESCRIPTION y SYMBOL_ISIN en los caracteres ecn______ y.AUDCHFnosp?

 
prostotrader:

Gracias, ¿alguien puede comprobar qué se devuelve si se consultaSYMBOL_DESCRIPTION y SYMBOL_ISIN en los caracteres ecn______ y.AUDCHFnosp?

Aquí:

Print( "SYMBOL_CURRENCY_BASE=",SymbolInfoString("AUDNZD",SYMBOL_CURRENCY_BASE)," || SYMBOL_ISIN=",SymbolInfoString("AUDNZD",SYMBOL_ISIN) );

2018.08.24 11:58:36.727	Sym AUDNZD,H1: SYMBOL_CURRENCY_BASE=AUD || SYMBOL_ISIN=
 
Vitaly Muzichenko:

Aquí tienes:

Gracias, peroSYMBOL_DESCRIPTION?

Es decir, ¿el carácter base es siempre el primer carácter del par?
 
Vitaly, por favor, comprueba si el mensaje "FOREX done." aparece en los caracteres "torcidos"
Archivos adjuntos:
 
prostotrader:
Vitaly, por favor, comprueba si el mensaje "FOREX done." aparece en los caracteres "torcidos"

prostotrader, lo siento, pero de momento no puedo, no tengo tiempo para nada, tengo una obra. Sólo voy al ordenador un par de minutos en mi descanso.

 
Vitaly Muzichenko:

prostotrader, lo siento, pero de momento no puedo, no tengo tiempo para nada, tengo una obra. Sólo voy al ordenador un par de minutos en mi descanso.

Ok

Chicos, por favor, comprobad los caracteres que no sean de 6 letras

 
prostotrader:

Vale

Chicos, por favor, comprobad los símbolos que no sean de 6 letras

Si eresprostotrader, hazte una cuenta de forex y prueba, ya tienes un terminal mt5. Esto será más rápido, y verás todos los registros