Preguntas de un "tonto" - página 142

 
Yedelkin:
No encuentro el camino, ¿en qué parte de la Referencia dice que en la ejecución del intercambio una solicitud no debe contener TP/SL?

No recuerdo eso en la referencia. Pero, por lo que sé, es cierto. Es más correcto decir SL/TP por lo que tengo entendido en la bolsa hay que poner órdenes separadas (que tengan un determinado tipo y especificación).

En principio se pueden buscar terminales de stock como exactamente, caja gris o digamos en Quik

PS

Esto, por ejemplo, puede estar relacionado con la ley. Por lo que sé, la ley estadounidense exige que las paradas estén señalizadas de una determinada manera (y no de otra).

Por su ejecución errónea se imponen ciertas sanciones. No puedo asegurarlo, pero los que operan en la Bolsa de Nueva York (o bolsas similares) creo que deben saber exactamente qué y cómo.

 

Por favor, dígame cómo tomar los valores de todas las iBands.

https://www.mql5.com/ru/articles/31

hay algo útil aquí, pero el editor no lo encontró al compilar

"#include <GetIndicatorBuffers.mqh>"

MQL5 для "чайников": Получение значений технических индикаторов в своих экспертах
MQL5 для "чайников": Получение значений технических индикаторов в своих экспертах
  • 2010.03.05
  • Sergey Pavlov
  • www.mql5.com
Для получения в торговом советнике значений встроенного или пользовательского индикатора, необходимо предварительно создать его хендл с помощью соответствующей функции. На примерах показано, как воспользоваться тем или иным техническим индикатором при разработке своих программ. Речь идёт о индикаторах, которые непосредственно встроены в язык MQL5. Статья предназначена для начинающих разработчиков торговых стратегий и предлагает простые и ясные способы работы с индикаторами с использованием приложенной библиотеки функций.
 
lazarev-d-m:

Por favor, dígame cómo tomar los valores de todas las iBands.

https://www.mql5.com/ru/articles/31

hay algo útil aquí, pero en la compilación el editor no encontró

"#include <GetIndicatorBuffers.mqh>"

Se adjunta al artículo siguiente.
 

Por favor, indique dónde colocar el archivo cargado por el Asesor Experto. Lo he probado en MQL5/Archivos. El probador da el error 5004. El indicador encuentra el mismo archivo en MQL5/Archivos inmediatamente. ¿Qué es el error 5004?

Por favor, lea más:

Un archivo con extensión .txt. La petición es así

   int filehandle=FileOpen(fname,FILE_READ|FILE_ANSI,"\n");
   if(filehandle!=INVALID_HANDLE) Print("FileOpen: ",FileSize(filehandle)," bytes");
   else Print("Operation FileOpen failed, error ",GetLastError());

 

 

El error es

2012.05.09 21:14:14 Core 01 2011.01.01 00:00:00 Operación FileOpen falló, error 5004

El archivo se encuentra en la carpeta MQL5/Archivos. Lo he comprobado 1000 veces. Y la herramienta lo carga sin problemas.

Construye 642.

 
gpwr:

Por favor, indique dónde colocar el archivo cargado por el Asesor Experto. Lo he probado en MQL5/Archivos. El probador da el error 5004.

Cada probador tiene su propia caja de arena de archivos, el archivo de datos debe ser colocado exactamente en la caja de arena del probador, no es muy conveniente, por lo que es mejor colocar el archivo de datos en la carpeta común de todos los terminales, se accede a través de la bandera FILE_COMMON.

Se puede acceder al archivo ubicado en la carpeta compartida tanto desde el terminal como desde el probador.

La carpeta pública se puede abrir desde MetaEditor - Archivo - Abrir carpeta de datos públicos.

 
Yurich:
Cada probador tiene su propia caja de arena de archivos, el archivo de datos debe ser colocado exactamente en la caja de arena del probador, esto no es muy conveniente, por lo que es mejor poner el archivo de datos en la carpeta común de todos los terminales, se accede a través de la bandera FILE_COMMON.

Se puede acceder al archivo ubicado en la carpeta compartida tanto desde el terminal como desde el probador.

La carpeta pública se puede abrir desde el MetaEditor - Archivo - Abrir carpeta de datos públicos.

Gracias, la descarga a través de FILE_COMMON fue exitosa. La caja de arena del probador no funcionó. Pero no importa. Los desarrolladores deberían haber simplificado este proceso y dejar que los Asesores Expertos tomen los archivos de datos de la misma carpeta desde la que se cargan los índices. Y estaría bien poder especificar la ruta del archivo en su nombre.
 
gpwr:
No hay manera de que funcione a través de la caja de arena de los probadores.
Hace tiempo que no compruebo el manejo de los archivos en el sandbox local de pruebas. Pero antes, para tener acceso al archivo desde el probador, tuve que poner el atributo de "sólo lectura" en el archivo, porque el probador limpió su caja de arena antes de lanzar el Asesor Experto.
 

¡Hola!

Me pueden decir qué hacer para que los gráficos de minutos dibujen una línea vertical en la hora correcta. Mis intentos no llegan a ninguna parte:

//Líneas verticales en un momento determinado

#propiedad ventana_del_gráfica_del_indicador
#property indicator_buffers 1
#property indicator_plots 1
//+----------------------------------------------+
//| Parámetros de representación de la imagen ||
//+----------------------------------------------+
//---- dibujo de la línea indicadora
#property indicator_type1 DRAW_HISTOGRAM
#property indicator_color1 blue
#property indicator_width1 1
#property indicator_label1 "Línea de tiempo"

#define RESET 0 // constante para devolver el comando al terminal para recalcular el indicador
//+----------------------------------------------+
//| Parámetros de entrada del indicador |
//+----------------------------------------------+
entrada intHora1=10; //hora 1
//+----------------------------------------------+
int Barras de inicio;
bool GoodTime;
//---- declaración de matrices dinámicas, que serán
//---- se utilizarán además como topes indicadores
double TimeDataBuffer[]; //
//+------------------------------------------------------------------+
//| clase para trabajar con la fecha|
//+------------------------------------------------------------------+
Clase MyDateClass
{
privado:
int m_year; // año
int m_mes; // mes
int m_day; // día del mes
int m_hour; // hora en un día
int m_minuto; // minutos
int m_segundo; //segundos
público:
//--- constructor por defecto
MyDateClass(void);
};
//+------------------------------------------------------------------+
//| constructor por defecto|
//+------------------------------------------------------------------+
MyDateClass::MyDateClass(void)
{
MqlDateTime dt;
datetime DT=TimeCurrent(dt);
TimeToStruct(DT,dt);
m_hora=dt.hora;
m_minuto=dt.min;
m_second=dt.sec;
if (m_hora==Hora1 && m_minuto==0) GoodTime=true;
DT=StructToTime(dt);
Imprimir(DT);
}
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int OnInit()
{
//---- inicialización de las variables globales para las etiquetas de los indicadores
StartBars=7;
//----
SetIndexBuffer(0,TimeDataBuffer,INDICATOR_DATA);
ArraySetAsSeries(TimeDataBuffer,true);
//---
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración de indicadores personalizada |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculado,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---- comprobar la suficiencia de las barras para el cálculo
if(rates_total<StartBars) return(RESET);

int limit,bar; //

//---- cálculo del número necesario de datos copiados
//---- y límite de número de inicio para el ciclo de recálculo de barras
if(prev_calculated> rates_total || prev_calculated<=0)//comprobar el primer inicio del cálculo del indicador
limit=total_de_barras_de_inicio; // número de inicio para el cálculo de todas las barras
else limit=tasa_total-prev_calculada; // número de inicio para el cálculo de nuevas barras
//---

//---- ciclo de cálculo del indicador principal
for(bar=0; bar<limit; bar++)
{
TimeDataBuffer[bar]=0.0;

if (GoodTime==true) TimeDataBuffer[bar]=2.0;
}
//--- devuelve el valor de prev_calculado para la siguiente llamada
//---
return(rates_total);
}

Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
 
Aquí...
Archivos adjuntos:
V_line.mq5  3 kb
 
papaklass:

Este es el código para la línea vertical:

¡SPS!
Razón de la queja: