[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 605

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
¿Cómo se silencia? Condujo a las rodillas blancas. Hay muchas ventanas de herramientas (33). No hay EAs. Sólo medio y Zup. No puedo saber de dónde canta. Te ruego que me ayudes. Servicio, los eventos han sido. Las cruces en los eventos no ayudan. Sigue cantando, el muy cabrón.
Tecnología:
el estornino puede sentarse en el pavo )))
He mirado el código y no hay alertas en ninguna parte. ¿Qué hacer?
He mirado el código y no hay alertas en ninguna parte. ¿Qué hacer?
Comprueba en PlaySound().
Necesito asignar ciertos valores a la variable Part, que se establece globalmente, para el cierre parcial de una posición, y pasarla como parámetro a la función que ejecuta el cierre parcial de la orden. Esta variable es un simple divisor. En otras palabras, si el valor inicialmente es 1, el lote se divide por 1 y se cierra toda la posición. Cuando las condiciones de la operación cambian, esta variable obtiene nuevos valores y puede ser igual a, por ejemplo, 1,5 o 2, entonces el lote de la posición se divide por este número, y se realiza el cierre parcial. La llamada a la función con paso de parámetros tiene el siguiente aspecto literal:
Así que, a pesar de que cuando se llama a la función ...
... Si se establece CloseMethod = 1 (cierre parcial) y se especifica explícitamente Part = 2, la función pasa su valor inicial = 1 que se estableció globalmente en lugar del valor de Part especificado en el curso del programa (por ejemplo, 2)...
¿Cómo puedo vencer esto? Gracias...
Pues bien, cuando las condiciones de negociación cambien, entonces cambia tu variable de la Parte. ¿O los tienes en otro EA? Entonces esta variable tiene que ser leída todo el tiempo, es decir
int init()
{
.....
GlobalVariableSet("Part0",Part);
.....
}
int inicio()
{
...
Part=StrToInteger(GlobalVariableGet("Part0"));
...
}
Pues bien, cuando las condiciones de negociación cambien, entonces cambia tu variable de la Parte. ¿O los tienes en otro EA? Entonces esta variable tiene que ser leída todo el tiempo, es decir
int init()
{
.....
GlobalVariableSet("Part0",Part);
.....
}
int inicio()
{
...
Part=StrToInteger(GlobalVariableGet("Part0"));
...
}
Cuando se pasa una variable a una función a través de su parámetro, la variable se pasa por valor, lo que significa que el cambio de la variable en la propia función no hará que se sobrescriba.
Intente pasarla por referencia insertando un "&" delante del nombre del parámetro
He mirado el código y no hay alertas en ninguna parte. ¿Qué hacer?
En la pestaña "Eventos", desmarque la casilla "Permitir".
Hola queridos profesionales.
Me gustaría escribir un EA que abriera dos órdenes de venta y compra al mismo tiempo.
Entonces, después de una determinada cantidad de puntos (parámetro lim), la orden perdedora se cerraría,
y una rentable se cerrará cuando el precio haya caído por debajo del precio máximo desde que se abrió la orden
(una especie de trailing stop virtual).
En la agonía he creado esto, pero no funciona... no funciona
Por favor, sugiera algo
¿Cómo hacer posible la asignación de diferentes valores a una variable definida globalmente en tiempo de ejecución cuando se llama a diferentes funciones y las guarda?
dos formas
1. Añade un amperímetro a la función donde se modifica el valor,
por ejemplo, void function( double& Part ){}
entonces, cuando se cambie un valor dentro de la función, el nuevo valor volverá al lugar de la llamada
2. eliminar la variable de la lista de parámetros de la función, ya que la variable está definida globalmente, su valor puede ser cambiado en cualquier lugar del código sin pasarla como parámetro...
Pero para evitar confusiones, es mejor la 1ª variante, para no pensar qué es esa variable, ya que puede haber más de una de esas variables definidas globalmente (y dentro de una misma función)...
He ojeado el post, la respuesta ya está dada...
pero su valor, cambiado dentro de las funciones, no se devuelve a las externas.
Mostrar la función en sí.
Si es void ClosePartPosBySelect(double Part), cambia a
void CerrarPartPosBySelect()