Errores, fallos, preguntas - página 2171

 
Anton Ohmat:


ENUM_POSITION_TYPE pos_type = PositionGetInteger (POSITION_TYPE);

La conversación sobre el enum de Swears implica, ¿qué he hecho mal? (Entiendo la esencia del error, ¿se puede realizar de alguna manera diferente?)

ENUM_POSITION_TYPE pos_type = (ENUM_POSITION_TYPE)PositionGetInteger (POSITION_TYPE);
 
Alain Verleyen:
¡¡¡Gracias!!!
 

¿Por qué el terminal muestra un precio diferente para el mismo objeto colocado en horizontal?


 
Me pueden decir cómo obtener el tope mínimo en SymbolInfoDouble - No puedo encontrar lo que pedir aquí en la ayuda
 
Anton Ohmat:
Por favor, indíqueme cómo obtener el valor mínimo de parada para SymbolInfoDouble; no lo encuentro en la ayuda, ¿qué hay que pedir exactamente aquí?

Debe buscar en SymbolInfoInteger. Cuando te salga un cero y un error, vete al hilo de "preguntas de novatos" y habrá las siguientes pistas.

NIVEL_DE_COMERCIO_DE_SIMBOLOS

Retroceso mínimo desde el precio de cierre actual para colocar una orden de stop

int

 
Aleksey Vyazmikin:

¿Por qué el terminal muestra diferentes precios para el mismo objeto colocado en horizontal?


La información sobre herramientas muestra la posición actual del cursor del ratón, no el nivel del objeto gráfico.

La información sobre la herramienta no aparece cuando el cursor se sitúa con precisión sobre algún objeto, sino cuando la proximidad es inferior a 5 píxeles

 
Slava:

La información sobre herramientas muestra la posición actual del cursor del ratón, no el nivel del objeto gráfico.

La información sobre herramientas no aparece en la posición precisa del cursor sobre algún objeto, sino en la proximidad de menos de 5 píxeles

¿Pero de qué le sirve al comerciante? Es mucho más útil conocer el precio al que se encuentra el objeto...

 

Quiero entender si el comportamiento es correcto

El archivo principal se llama TEST.mq5 que tiene un archivo de definición, esta definición se utiliza en el archivo de conexión "test_file_.mqh"

//+------------------------------------------------------------------+
#define   file   __FILE__ 
#include  "test_file_.mqh"
//+------------------------------------------------------------------+
int OnInit()
  {
   Print(func());
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+

El archivo del complemento simplemente devuelve lo que contiene la definición.

//+------------------------------------------------------------------+
//|                                                   test_file_.mqh |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

string func()
{
return file;
}

Esperaba que se devolviera el nombre del archivo principal TEST.mq5, porque la macro se declara al principio del código en el archivo principal.

Esperaba el nombre del archivo en el que se declara la definición.


Pero devuelve el valor del archivo de inclusión test_file_.mqh y el valor test_file_.mqh.

¿Es correcto?


En la ayuda está escrito "Nombre del archivo compilado actual" el archivo principal es también el archivo actual.

 

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

Plataforma MetaTrader 5 build 1700 beta: Proyectos en MetaEditor y herramientas sintéticas

Aleksey Vyazmikin, 2018.03.22 01:35

¡Por favor, ayuda!

Estoy recibiendo un error:

2018.03.22 03:29:06.834 Símbolo sintético Si-Test: no se encuentra el símbolo "Si"

A la fórmula "Si-9,18"-"Si-6,18" - ¿qué estoy haciendo mal?

 
Vladimir Pastushak:

Quiero entender si el comportamiento es correcto

El archivo principal se llama TEST.mq5 que tiene un archivo de definición, esta definición se utiliza en el archivo de conexión "test_file_.mqh"

El archivo del complemento simplemente devuelve lo que contiene la definición.

Esperaba que se devolviera el nombre del archivo principal TEST.mq5, porque la macro se declara al principio del código en el archivo principal.

Esperaba el nombre del archivo en el que se declara la definición.


Pero devuelve el valor del archivo de inclusión test_file_.mqh y el valor test_file_.mqh.

¿Es correcto?


En la ayuda dice "Nombre del archivo compilado actual" el archivo principal también es actual.

Este comportamiento me parece lógico, ya que en la definición se sustituye la variable por la macro __FILE__, que se sustituye y calcula de forma independiente dentro del archivo de inclusión.

Así es como funciona:

//+------------------------------------------------------------------+
string main_file_name=__FILE__;
#define  file main_file_name
#include  <test_file_.mqh>
//+------------------------------------------------------------------+
int OnInit()
  {
   Print(func());
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+