Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¿Pushkin inicializará la cadena?
Hmmm... No soy muy bueno programando, pero ¿no se reiniciaría la cadena cada vez?
Me interesa su valor base, por ejemplo, el valor de double es cero, bool es 1, pero ¿qué?
Un ejemplo de chapoteo:
doble Estado;
void OnTick()
{
si(Statys == 0)
{AbrirCompra();}
}
Y parece que funciona))
(Exactamente, no está a cero). Nunca los inicialicé allí).
Hmm... No soy bueno en programación, pero ¿no se reiniciaría la cadena cada vez?
Me interesa su valor base, por ejemplo, el valor de double es cero, bool es 1, pero ¿qué es?
Exactamente, no está a cero). Y nunca los inicialicé allí)
En la ayuda de MQL5 se indica claramente en la sección Inicialización de variables:
Cualquier variable puede ser inicializada cuando se define. Si una variable no se inicializa explícitamente, el valor almacenado en esta variable puede ser el que se desee. No se realiza la inicialización implícita.
La sección de Inicialización de Variables de la ayuda de MQL5 dice explícitamente:
De momento tienes suerte, pero un día tendrás mala suerte y estarás mucho tiempo buscando un error en tu código, sin saber que el diablo se esconde en las minucias. No tienes que confiar en el "tendré suerte".Estoy escribiendo una función sencilla para comprobar el sentido de la indexación en un array. Las propias matrices se toman de OnCalculate(), es decir, tienen tipos diferentes (double, datetime, etc.). Hay ejemplos de funciones terminales en la referencia que utilizan el tipo de cabecera f(void &array[]) al procesar arrays de diferentes tipos. Pero el compilador jura usar el tipo void en la función de usuario. ¿Existe alguna forma universal de indicar al compilador que el tipo de parámetro del array no es importante para una función de usuario?
Me gustaría aclarar la estructura del resultado de la solicitud de comercio (MqlTradeResult)
double price; // Precio en la operación, confirmado por el broker
¿No devuelve el precio de una orden pendiente? El Asesor Experto ha escrito el siguiente código:
double Statys = 0;
void OnTick()
{
if (Statys == 0)
{OpenBuy();}
}
void OpenBuy()
{
MqlTradeRequest o; MqlTradeResult p;
double Ask = SymbolInfoDouble(_Symbol,SYMBOL_ASK);
o.action = TRADE_ACTION_PENDING;
o.símbolo = _Símbolo;
o.volumen = 1;
o.precio = 82.000;
o.sl = 81,800;
o.tp = 82.200;
o.type = ORDER_TYPE_BUY_STOP;
o.type_filling = ORDER_FILLING_AON;
o.type_time = ORDER_TIME_GTC;
OrderSend(o,p);
Statys = p.precio;
}
A juzgar por el hecho de que tenemos muchas operaciones abiertas, me atrevo a adivinar que la respuesta es precio = 0. Sin embargo, es un poco raro.
¿Existe alguna forma universal de indicar al compilador que el tipo del parámetro del array no es importante para una función de usuario?
Me gustaría aclarar la estructura del resultado de la solicitud de comercio (MqlTradeResult)
double price; // Precio en la operación, confirmado por el broker
¿No devuelve el precio de una orden pendiente? El Asesor Experto ha escrito un código de este tipo:
A juzgar por el hecho de que hay muchas operaciones abiertas, me atrevo a adivinar que la respuesta es precio = 0. Sin embargo, esto es un poco raro.
Una orden pendiente no implica hacer un trato. Echa un vistazo a la ayuda de la estructura de MqlTradeResult:
Descripción del campo
Campo
Descripción
Retomar el código
Código de retorno del servidor de comercio
acuerdo
Ticket de transacción, si se ha realizado una transacción. Informado en la operación comercial TRADE_ACTION_DEAL
pedir
Ordenar billete, si se ha colocado un billete. Notificado durante una operación comercial TRADE_ACTION_PENDING
volumen
Volumen de la operación confirmado por el corredor. Depende del tipo de llenado del pedido
precio
Precio de la transacción, confirmado por el corredor. Dependedel campo de desviación en la solicitud de comercio y/o del tipo de comercio
oferta
Precio de oferta actual del mercado (precio de recotización)
pregunte a
Precio de oferta actual del mercado (precios de recotización)
comentario
Comentario del corredor a la transacción (por defecto, rellenado con una desencriptación)
Una orden pendiente no constituye una operación. Mira la ayuda de la estructura MqlTradeResult:
También, por favor, inserte el código correctamente.Vale, para. ¿También hay que inicializar las cadenas? No es un tipo atómico.