¿Pueden decirme por qué mi código no pone vol y preguntar? El valor cero siempre se muestra en Print. El diferencial se "sujeta" normalmente, muestra el valor correcto.
Adjunto el EA al gráfico LTCUSD.
¿Cuál es el error?
#include <Trade\SymbolInfo.mqh>
CSymbolInfo m_symbol;
int a=0,b=0,c=0,spread=0,i=0,j=0;
double x=0,y=0,z=0,m=0,ask=0;
inputint vyb=7;
bool bool_1=true,bool_2=true,bool_3=true;
string str_1="",str_2="",str_3="",name="",Text[101];
ulong vol=0;
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---
name=_Symbol;
Print("текущий символ: ",name);
spread=m_symbol.Spread();
Print("спред по символу: ",spread);
vol=m_symbol.Volume();
Print("обьєм по символу ",name," - ",vol);
ask=m_symbol.Ask();
Print("Цена Аск равно ",ask);
¿Pueden decirme por qué mi código no pone vol y preguntar? El valor cero siempre se muestra en Print. El diferencial se "sujeta" normalmente, muestra el valor correcto.
Adjunto el EA al gráfico LTCUSD.
¿Cuál es el error?
Debe aplicar el método CSymbolInfo::Refresh o CSymbolInfo::RefreshRates antes de obtenerlo - dependiendo de lo que necesite.
Tal vez también pueda sugerir: ¿cómo obtener un nombre de símbolo utilizando el métodoCSymbolInfo Name? Cuando intento hacerlo de esta manera
Obtengo un valor booleano true en la variable nombre.
Lo hago - inicializo la variable de la clase CSymbolInfo.
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---
***
if(!m_symbol.Name(Symbol())) // sets symbol name
{
Print(__FILE__," ",__FUNCTION__,", ERROR: CSymbolInfo.Name");
return(INIT_FAILED);
}
RefreshRates();
***
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Refreshes the symbol quotes data |//+------------------------------------------------------------------+bool RefreshRates()
{
//--- refresh ratesif(!m_symbol.RefreshRates())
{
if(InpPrintLog)
Print(__FILE__," ",__FUNCTION__,", ERROR: ","RefreshRates error");
return(false);
}
//--- protection against the return value of "zero"if(m_symbol.Ask()==0 || m_symbol.Bid()==0)
{
if(InpPrintLog)
Print(__FILE__," ",__FUNCTION__,", ERROR: ","Ask == 0.0 OR Bid == 0.0");
return(false);
}
//---return(true);
}
Si desea obtener un nombre (por ejemplo, al comparar el símbolo de posición con el símbolo actual), debe utilizar el método CSymbolInfo::Name().
Ejemplo de uso:
//+------------------------------------------------------------------+//| Is position exists |//+------------------------------------------------------------------+bool IsPositionExists(void)
{
for(int i=PositionsTotal()-1; i>=0; i--)
if(m_position.SelectByIndex(i)) // selects the position by index for further access to its propertiesif(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==InpMagic)
return(true);
//---return(false);
}
La ayuda muestra dos formas de llamar al método Name
Nombre
Obtiene el nombre del instrumento financiero.
string Name() const
Valor devuelto
Nombre del instrumento financiero.
Nombre
Establece el nombre del instrumento financiero para seguir trabajando con él.
No sé cómo abrir una cuenta demo.
Estoy en android.
MetaQuotes no es un broker, por lo que sólo puede abrir una cuenta de demostración en los servidores de MetaQuotes-Demo.
Hay que abrir una cuenta real de trading con un broker.
¡Hola conocedores!
¿Pueden decirme por qué mi código no pone vol y preguntar? El valor cero siempre se muestra en Print. El diferencial se "sujeta" normalmente, muestra el valor correcto.
Adjunto el EA al gráfico LTCUSD.
¿Cuál es el error?
¡Hola conocedores!
¿Pueden decirme por qué mi código no pone vol y preguntar? El valor cero siempre se muestra en Print. El diferencial se "sujeta" normalmente, muestra el valor correcto.
Adjunto el EA al gráfico LTCUSD.
¿Cuál es el error?
Debe aplicar el método CSymbolInfo::Refresh o CSymbolInfo::RefreshRates antes de obtenerlo - dependiendo de lo que necesite.
Aquí está el código de estas funciones:
Debe aplicar el método CSymbolInfo::Refresh o CSymbolInfo::RefreshRates antes de obtener - dependiendo de lo que necesite
¡Muchas gracias, querido Vladimir!
¿Tal vez también puedas decirme cómo obtener el nombre del símbolo con el métodoCSymbolInfo Name? Cuando intento hacerlo
Obtengo un valor booleano true en la variable nombre.
¡Muchas gracias, querido Vladimir!
Tal vez también pueda sugerir: ¿cómo obtener un nombre de símbolo utilizando el métodoCSymbolInfo Name? Cuando intento hacerlo de esta manera
Obtengo un valor booleano true en la variable nombre.
Lo hago - inicializo la variable de la clase CSymbolInfo.
Si desea obtener un nombre (por ejemplo, al comparar el símbolo de posición con el símbolo actual), debe utilizar el método CSymbolInfo::Name().
Ejemplo de uso:
La ayuda muestra dos formas de llamar al método Name
Nombre
Obtiene el nombre del instrumento financiero.
Valor devuelto
Nombre
Establece el nombre del instrumento financiero para seguir trabajando con él.
Valor devuelto
Si desea obtener un nombre (por ejemplo, al comparar un símbolo de posición con el símbolo actual), debe utilizar el método CSymbolInfo::Name().
Ejemplo de uso:
La ayuda muestra dos formas de llamar al método Name
Nombre
Obtiene el nombre del instrumento financiero.
Valor devuelto
Tengo una pregunta sobre esta forma de método Nombre.
¿CÓMO puedo obtener el NOMBRE del instrumento en la variable? Porque haciéndolo de esta manera:
Obtengo el booleano true enname. ¿Cómo obtener una cadena con el nombre del instrumento en ella, utilizandoel método CSymbolInfo::Name()?
Tengo una pregunta sobre esta forma particular del método del nombre.
¿CÓMO puedo meter el NOMBRE de la herramienta en una variable? Porque haciendo esto:
Obtengo un booleano true enname. ¿Cómo obtengo una cadena con el nombre de la herramienta en ella, usandoel método CSymbolInfo::Name() ?
Primero loINICIALIZAMOS. Entonces utilizamos el método Name().
Ejecutamos el código en el carácter ''.
Resultado:
1 (EURUSD,H1) текущий символ: EURUSDPrimero se INICIALIZA. A continuación, utilizamos el método Name().
Ejecuta el código en el carácter ''.
Resultado:
Lo tengo. Gracias por su paciencia )).
PD: mi compilador está culpando al retorno en su código. Cuando lo quité, todo está bien.
Lo tengo. Gracias por su paciencia )).
PD: mi compilador está culpando al retorno en su código. Cuando lo he quitado, está bien.
Esto es un script (di un ejemplo de un script), no un EA. Si copiaste mi código en EA, habrá un error.