Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1947

 
Vitaly Muzichenko #:

No entiendo el principio de sangrar desde abajo para que quede uniformemente espaciado en varias filas

Aquí es donde no puedo empezar.

Comienza haciendo que el valor del nivel inferior sea 1, el valor del segundo nivel 2 y así sucesivamente. Entonces puede disminuirlo. Si es para mql4, entonces necesitas 2 buffers por nivel si sólo tienes 2 colores. Para mql5 deberían ser 2 buffers por nivel, datos y color. La verticalidad se ajusta por la altura de la ventana del indicador.

 

Puedes darme una pista, no he podido encontrarla en el lugar. Cómo llevar la hora del servidor con diferentes turnos a la hora de la meta-cuota. Estoy haciendo algo, pero está en el lugar equivocado y no me gusta. Recuerdo que Saber llegó a mencionar un turno de verano-invierno, pero no lo encontré.

Mis pensamientos son los siguientes. Sólo tenemos tiempo de compensación local disponible en todos los corredores. No conocemos los turnos de trabajo de otros corredores. Por supuesto, podemos utilizar las variables globales de la terminal, aunque no es seguro, o los archivos, pero es mucho más fácil - el cambio necesario incut. Obtenemos el turno del corredor. Calculamos la diferencia Y TimeShift + diferencia*3600, teniendo en cuenta el signo de la diferencia.

¿Es esto correcto?

Añadido.

Genial, en MT sólo se puede obtener el desplazamiento entre la hora GMT y la hora local)))) No hay cambio entre la hora del servidor y GMT......

Je, decidido))) Basado en Dmitry Fedoseyev))

class CTradeTimeGMT{
protected:
int StartTime;
int EndTime;
int GMTRatio;
public:
void Init(int StartHour, int StartMinute, int EndHour, int EndMinute, int GMTshift){
StartTime=3600*StartHour+60*StartMinute;
EndTime=3600*EndHour+60*EndMinute;
GMTRatio=(GMTshift*3600)-int(((TimeCurrent()-TimeGMT())/3600)*3600);
}
bool Check(){
int CurTime=(int)((TimeCurrent()+GMTRatio)%86400);
if(StartTime<EndTime){
return(CurTime>=StartTime && CurTime<EndTime);
}
else{
return(CurTime>=StartTime || CurTime<EndTime);
}
}
};

input int STARTHour = 16;
input int STARTMinute = 13;
input int ENDHour = 19;
input int ENDMinute = 59;
input int GMTShift=2;   // сдвиг который нужен для всех брокеров при указании времени


CTradeTimeGMT tt;

int OnInit()
  {
//---
  tt.Init(STARTHour,STARTMinute,ENDHour,ENDMinute,GMTShift); 
//---
   return(INIT_SUCCEEDED);

void OnTick()
  {
 FlagTrade=tt.Check();
if( !FlagTrade )return;

// торговое время одинаковое для всех
}
 
Hola, estoy intentando publicar un Asesor Experto en el Mercado con un código sencillo, pero no pasa la validación en la sección de versiones. Ayúdeme a entender por qué el código no pasa la validación. Hay dos errores en el informe de pruebas. El primero es que todos los mensajes deberían estar en inglés, lo he arreglado, y el segundo error:Debería añadir la posibilidad de comprobar los errores de las funciones comerciales en el Probador de Estrategias.
1. Está prohibido añadir cualquier restricción al funcionamiento del Producto, en función del tiempo, del tipo o número de cuenta de trading, del instrumento financiero, etc.
2. Para un Asesor Experto en Noticias, puede generar noticias de prueba de diferente importancia varias veces al día.
3. Para un Asesor Experto multidivisa añadir la capacidad de operar sólo un par de divisas.Estoy adjuntando el archivo de código del Asesor Experto.Sólo si se puede, puede corregir todos los errores en el archivo, y luego explicar lo que estaba mal.
Archivos adjuntos:
2nd3.mq4  12 kb
 

Por favor, aconsejar donde "cavar" sobre el envío de una señal cuando el precio alcanza la línea horizontal estándar en el gráfico a otro dispositivo con la misma cuenta,

Gracias de antemano, gracias

 
BIOs #:

Por favor, aconsejar donde "cavar" sobre el envío de una señal cuando el precio alcanza la línea horizontal estándar en el gráfico a otro dispositivo con la misma cuenta,

Gracias de antemano, gracias

dos terminales a través del servidor DC, sólo comparten el estado de las operaciones y el historial de la cuenta.

si Alice quiere enviar un mensaje a Bob, pone una pausa.

o como dubrowski está buscando otro duplo :-)

 

Ha surgido una pregunta. El reto. Tengo un depósito de 2000 dólares y un apalancamiento de 100. El lote a colocar es el 20% del importe, es decir, 400 dólares de lote. Cómo calcular el nivel de stoploss, para que la pérdida sea del 50% para los pares de cotización inversa eurusd, directa usdjpy y cruzada gbpchf.

Y otra pregunta, contra T, en la pestaña de activos vemos la cantidad real de dinero en el depósito, pero en el terminal ¿podemos ver la cantidad de dinero con apalancamiento y el nivel de apalancamiento?

Está claro que podemos hacer una petición y conseguir todo))).

 
Valeriy Yastremskiy #:

Ha surgido una pregunta. El reto. Tengo un depósito de 2000 dólares y un apalancamiento de 100. El lote a colocar es el 20% del importe, es decir, 400 dólares de lote. Cómo calcular el nivel de stoploss, para que la pérdida sea del 50% para los pares de cotización inversa eurusd, directa usdjpy y cruzada gbpchf.

Y otra pregunta, contra T, en la pestaña de activos vemos la cantidad real de dinero en el depósito, pero en el terminal ¿podemos ver la cantidad de dinero con apalancamiento y el nivel de apalancamiento?

Está claro que podemos hacer una solicitud y obtener todo)))

puedo ver la cantidad real de dinero en el depósito, apalancamiento 100, nivel de margen 60% (necesito saber dónde está la apuesta de margen). en el mensaje original está de alguna manera ausente. si me refería a la "carga del depósito", es decir, el uso de los fondos.

PS/ cuenta desde el máximo posible para abrir y soportar un lote en el instrumento. Es el 100% de lo que quieres abrir 1/5 (utiliza el 20% de tus fondos) y a partir de este volumen, basado en el precio del tick por lote, calcula el nivel de stop-loss

 
Maxim Kuznetsov #:

Si tienes un depósito de 2000, apalancamiento de 100, nivel de margen del 60% (tienes que saber dónde está la llamada de margen), de alguna manera falta en el mensaje original.

Si te referías a la "carga del depósito", es decir, el uso de los fondos. Je, sí, exactamente, no tuve en cuenta que a 1100 en algún lugar por sí mismo se detiene)))) en el lote mínimo 0,01, resulta sólo 1000. Bueno, uno puede hacer una pérdida del 30%. La pregunta era sobre el cálculo de fórmulas de tasas inversas y cruzadas. Yo sí lo entiendo con la mente, pero tengo que deducir fórmulas y a veces me salen con errores)).

 
¿Cómo calcular la carga del depósito en el probador MT5 por código? Es la carga del depósito ¡Gracias!
 
Valeriy Yastremskiy #:

Je, sí, exactamente, no tuve en cuenta que a los 1100 en algún lugar se parará)))) con un lote mínimo 0,01, resulta que sólo 1000. Bueno, uno puede hacer una pérdida del 30%. La pregunta era sobre el cálculo de fórmulas de tasas inversas y cruzadas. Debería entenderlo con la mente, pero tengo que deducir fórmulas y a veces me salen con errores).

Hay que tener en cuenta el valor de los puntos

Puedo darte el código, pero te llevará mucho tiempo averiguarlo, es grande, también tiene en cuenta el lote máximo posible en el margen