Versión beta del libro en línea sobre la programación de MQL4 - por Sergey Kovalev (SK.) - página 6

 
Rosh:
Martes:

En dos ordenadores diferentes y con distintos navegadores, las imágenes de https://book.mql4.com/ru/metaeditor/compose no se muestran.
Es extraño cómo puede ser. No entiendo el problema.


Especialmente comprobado ahora, ni una sola foto tampoco . IE7. + si quiero hacer clic en el enlace en la parte inferior de la página MQL4 programa arroja un error

 
Si se descubre el problema, lo arreglaremos.
 
Buscando llaves que faltan o sobran.... Perdiendo la cabeza silenciosamente((

PS
Fin del programa" - se esperaba el corchete final "}".
 
Climber:
Buscando llaves que faltan o sobran.... Perdiendo la cabeza silenciosamente((

"/*" y "*/ " para ayudar...
 
komposter:
Escalador:

Buscando llaves que faltan o sobran.... Perdiendo la cabeza silenciosamente((





"/*" y "*/ " para ayudar...



¿Qué significa? No lo entiendo 0_o

Todo va bien hasta que aparece esta pieza:
// Критерии закрытия ордеров

if
(_OrdersTotal = 1) //Выполнять следующее если открыт 1 ордер
{
OrderSelect(0, SELECT_BY_POS);
Tip = OrderType;
OPrice = OrderOpenPrice;

if (Tip = 0) // Расчитать цену закрытия в зависимости от типа ордера (В=0,S=1)
{
Cprice = OPrice + (TakeProfit*Point) + Spread;
if (Bid >= Cprice)
{
Cls_B = True;
}
}
if (Tip = 1)
{
Cprice = OPrice - (TakeProfit*Point) - Spread;
if (Ask <= Cprice)
{
Cls_S = True;
}
}
Ahí es donde el número de paréntesis no coincide. Pero si lo añado al final, se producen muchos errores sin sentido durante la compilación.
 
Climber:

¿Qué significa? No lo entiendo 0_o

Véase el comentario https://book.mql4.com/ru/basics/common.
 
No tengo grandes comentarios que desglosar, ¿en qué me ayuda?
He añadido a mi post anterior.
 
Confirmar los trozos de código. Una vez que el error ha desaparecido, donde comentaste y busca el paréntesis que falta
 
Climber:
No tengo grandes comentarios que deban romperse, ¿en qué me ayuda?
He complementado mi post anterior.


Si pones /* en algún lugar de la parte superior del programa
y en algún lugar más abajo pones */
entonces todo lo que esté en medio será tratado como un comentario.

Los programadores utilizan con éxito este método para encontrar los paréntesis que faltan.

Por lo general, la parte que contiene el error está más o menos clara. Esto es lo que enmarcan /* */. Después compilan el programa. Si el compilador dice que no hay errores, entonces el área de búsqueda se reduce desplazando /* o */ por debajo y por encima. Volver a la recopilación. Como resultado, el programador encuentra un fragmento tan pequeño donde sólo ve un error.

Tenga en cuenta que no debe poner /* y */ sólo por razones lógicas.

 
Ahora entiendo para qué sirven esos comentarios. Pero yo hice algo similar, sólo que de una manera diferente. Estaba borrando operadores con paréntesis abiertos y cerrados. Empecé con las pequeñas internas y luego me quedé con las más grandes, cubriendo las pequeñas eliminadas, y al final me quedó una sin cerrar.

Si añado paréntesis de cierre al final del código, obtengo demasiados errores relacionados con el código siguiente (justo en lugares absurdos, como = no es relevante aquí, o ; tampoco encaja. ...).

Y el código en sí, que escribí anteriormente en el mensaje parece aceptable para la operación, que traté de declararlas, o podría ser escrito de otra manera? Como se supone al principio, si se abre una orden, sólo en este caso debemos ejecutar los operadores siguientes después de {.

Cuando empecé a escribir este bloque, lo compilé sobre la marcha (para ver los errores de una vez), este error apareció y se repitió. Pensé que era porque faltaba el corchete de cierre de inicio, así que seguí escribiendo.