Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 930
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
DiPach , gracias de nuevo por tu ayuda. He analizado sus ejemplos. Hice algunos cambios en mi código de inicio. El resultado es este:
Lo que se ha cambiado:
1. He movido la línea que contiene la declaración del array int awd1[]; dentro de la función OnStart()
2. Añadida la función ArrayResize(awd1,6,7);
3. El guión funciona.
Intentaré sacar algunas conclusiones. En los scripts, es correcto declarar arrays dentro de la función OnStart(). Después de declarar el array, debe definirse necesariamente su tamaño mediante la función ArrayResize(); de lo contrario, el compilador jurará. ¿Son correctas mis conclusiones? Si no es así, por favor, dé la interpretación correcta.
DiPach , gracias de nuevo por tu ayuda. He analizado sus ejemplos. Hice algunos cambios en mi código de inicio. El resultado es este:
Lo que se ha cambiado:
1. He movido la línea que contiene la declaración del array int awd1[]; dentro de la función OnStart()
2. Añadida la función ArrayResize(awd1,6,7);
3. El guión funciona.
Intentaré sacar conclusiones. En los scripts, es correcto declarar arrays dentro de la función OnStart(). Después de declarar el array, debe definirse necesariamente su tamaño mediante la función ArrayResize(); de lo contrario, el compilador generará un error. ¿Son correctas mis conclusiones? Si no es así, por favor, dé la interpretación correcta.
En general, sí. Y funcionará, al menos en silencio, pero muy bien. :)
Sólo especificaré los siguientes puntos:
1. Cuando se declaran las variables y matrices normales, creo que hay que tener en cuenta qué va a hacer este script (o EA/indicador) y para qué sirven estas variables/matrices.
El flujo de trabajo de su script adjunto permite la declaración de variables no a nivel global del programa, sino localmente. Es decir, el array se declara una vez. Y no hay necesidad en las declaraciones repetidas (en bucle) en el cuerpo de Start(), por ejemplo, antes de que comencemos el bucle for() y, por ejemplo, cuando necesitamos alguna declaración más de variables después de for() {}:
En consecuencia, el array se declara no a nivel de variables globales del programa sino en el cuerpo de OnStart() antes de la sentencia del bucle for() - es bastante aceptable en este esquema de ejecución del programa.
Desde mi punto de vista, si no hay necesidad de declarar algo a nivel de variables globales en un programa, mejor aprovechar esta oportunidad y declarar todo lo que podamos localmente.
2. En cuanto al código, déjame aclararlo:
Eso es:
Esa es la forma 5 que sería apropiada para:
P./S.: Una aclaración más, por si acaso, el uso de ArrayResize() - para arrays dinámicos. En la documentación de esta función , hay información cuando esta función no puede redimensionar arrays dinámicos.
¿Por qué no puedo añadir amigos?
¿Cómo puedo hacer que el nuevo precio se muestre primero y que el precio anterior baje a la parte inferior y así sucesivamente? He puesto un ejemplo para que quede claro.
¿Cómo puedo hacer que el nuevo precio se muestre primero y que el precio anterior baje a la parte inferior y así sucesivamente? Eso sería claro hecho un ejemplo.
Hice un ejemplo, y con las condiciones más o menos puedes averiguarlo tú mismo:
He hecho un ejemplo, y puedes resolver los términos más o menos por tu cuenta:
¿Cómo puedo hacer que el nuevo precio se muestre primero y que el precio anterior baje a la parte inferior y así sucesivamente? Para que quede claro, he puesto un ejemplo.
Aquí hay un código completamente primitivo.
Aquí hay un código perfectamente primitivo hecho.
Hola a todos. Intenté abrir una orden de operación en el probador de estrategias usando un script rudimentario, falló.
int inicio()
{
//----
int res;
double ask=Cierre[0]+MarketInfo(_Símbolo,MODE_SPREAD)*Punto;
res=Enviar orden(Símbolo(),OP_BUY,0.1,ask,3,0,0,",0,0,Azul);
if(res>-1)Alert("Abrir orden de COMPRA con ticket ",res);
//----
return(0);
}
Puse el script en el gráfico de prueba en modo de visualización, pero la orden de operación se abre en la terminal MT4.
Tampoco puedo obtener información sobre las órdenes abiertas en el probador de estrategias utilizando SimpleFXTester_v2.ex4.
Por favor, ayúdenme a entender esto.
Hola a todos. Intenté abrir una orden de operación en el probador de estrategias usando un script rudimentario, falló.
int inicio()
{
//----
int res;
double ask=Cierre[0]+MarketInfo(_Símbolo,MODE_SPREAD)*Punto;
res=Enviar orden(Símbolo(),OP_BUY,0.1,ask,3,0,0,",0,0,Azul);
if(res>-1)Alert("Abrir orden de COMPRA con ticket ",res);
//----
return(0);
}
Pongo el script en el gráfico de prueba en modo de visualización, pero la orden de operación se abre en el terminal MT4.
Tampoco puedo obtener información sobre las órdenes abiertas en el probador de estrategias utilizando SimpleFXTester_v2.ex4.
Por favor, ayúdenme a entender esto.