Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 961

 
Vinin:
¿Lo has comprobado en el probador? Sólo hay 1000 barras disponibles al inicio.

¡Claro que sí! Lo sigo olvidando. Gracias por recordármelo.

¿No hay forma de evitar ese límite?

 
goodearth:

¡Claro que sí! Lo sigo olvidando. Gracias por recordármelo.

¿No hay forma de evitar esta restricción?


Hay un control para el número de barras necesarias para el cálculo.

if (Bars<MinBar) return;
 
rapid_minus:
En tres de los símbolos hay un concejal "según Sleptsov" y en el cuarto otro concejal. ¿Interfieren entre sí? Nunca he visto que se mencione que sólo se debe colocar un EA en un símbolo en MT4.
No, no existen tales restricciones. La pregunta era si un EA ajeno puede cerrar todas las órdenes. Y debemos comprobar si no existe la condición de cerrar todas las órdenes de otro EA. O, al menos, comprueba si ese problema se producirá si sólo se establece un EA.
 
AlexeyVik:
No, no existen tales restricciones. La cuestión era si un EA extranjero no puede cerrar todas las órdenes. Y debemos comprobar si no hay ninguna condición para cerrar todas las órdenes de los demás en él. O al menos comprobar si habrá tal problema si sólo se ha establecido un EA.
Gracias. Lo intentaré el lunes. Pero en este caso, el EA extranjero debe cerrar sólo las órdenes perdedoras en todos los símbolos. ¿Cómo se ve en el código? Todavía no me he encontrado con esto.
 
AlexeyVik:

Por favor, aclárense, estoy totalmente confundido:

He encontrado un script que cierra las órdenes con beneficio o con menos, pero no entiendo la lógica - el bool close_only_profit_orders=false se establece en las variables externas y luego se comprueba con la negación en f-i start: if(OrderType()==OP_BUY && (!close_only_profit_orders || order_prof>0). Es decir, si no es falso o hay órdenes con beneficio, entonces sigue la función OrderClose(). Pero en ninguna parte del código, no hay condiciones para que la variable close_only_profit_orders se convierta en verdadera. Entonces, ¿para qué sirve?

 
rapid_minus:

Por favor, aclárense, estoy totalmente confundido:

He encontrado un script que cierra las órdenes con beneficio o con menos, pero no entiendo la lógica - el bool close_only_profit_orders=false se establece en las variables externas y luego se comprueba con la negación en f-i start: if(OrderType()==OP_BUY && (!close_only_profit_orders || order_prof>0). Es decir, si no es falso o hay órdenes con beneficio, entonces sigue la función OrderClose(). Pero en ninguna parte del código, no hay condiciones para que la variable close_only_profit_orders se convierta en verdadera. Entonces, ¿para qué sirve?


Si bool close_only_profit_orders=true;, entonces sólo se cerrarán las rentables.

Así es.

 
r772ra:

Si, bool close_only_profit_orders=true; entonces sólo se cierran los rentables.

Así es.

Pero en ninguna parte del código hay condiciones según las cuales la variable cerrar_solo_ganancias_órdenes se convierte en verdadera, es decir, nunca se convertirá en verdadera a menos que la hagamosverdadera nosotros mismos, yaque se trata de una variable externa. Por lo tanto,si lo hacemoscierto, significará que no debemos cerrar las órdenes rentables. Pero entonces hay una contradicción con OR -|| order_prof>0.

O más bien lo contrario: si es falso, no debemos cerrar, y entonces hay una contradicción, pero sies verdadero, entonces todo está bien...(?)

Completamente confundido.

 
rapid_minus:
Pero en ninguna parte del código hay una condición para que la variable close_only_profit_orders se convierta en verdadera, es decir, nunca se convertirá en verdadera.

Depende de usted si cierra todas o sólo las rentables.

 
rapid_minus:

Pero en ninguna parte del código hay una condición para que la variable cerrar_solo_ganancias_órdenes se convierta en verdadera, es decir, nunca se convertirá en verdadera a menos que la hagamosverdadera nosotros, yaque se trata de una variable externa. Por lo tanto,si lo hacemoscierto, significará que no debemos cerrar las órdenes rentables. Pero entonces hay una contradicción con OR -|| order_prof>0.

O más bien lo contrario: si es falso, no debemos cerrar, y entonces hay una contradicción, pero sies verdadero, entonces todo está bien...(?)

Totalmente confundido.

¡Lógica!

extern boolclose_only_profit_orders = false; // Cerrar cualquier posición, de beneficio y de pérdida, por supuesto, según algunas condiciones.

extern boolclose_only_profit_orders = true; // sólo se cierran las posiciones rentables, las perdedoras tampoco se cierran, según algunas condiciones.

Puedes comprobar en el probador qué variante es mejor. O en modo de optimización 0 = falso y 1 = verdadero.

 
Gracias a todos