[¡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 1125
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Hay una función muy interesante para marcar las variables encontradas. Pulse Ctrl+F, introduzca un nombre de variable, marque las casillas "Marcar" y "Marcar encontrado". A continuación, pulse el botón "Buscar todo". Para eliminarlo, haga clic en el botón "Eliminar todo".
Y un doble clic te lleva a un fragmento de código))) Justo lo que necesito, gracias)
No entiendo, ¿en qué objeto hay que hacer doble clic?
¡¡Comercie una vez al día!! ¿Cómo se haría esto?
Hay una variante de este tipo, que cuando se activa no funciona (cuando se desactiva, se abren las operaciones, pero no una vez al día). Como base del código tomado en algún lugar de estos espacios abiertos. Por favor, corrija este código.
extern bool WaitForNewDay = true; //----- cambiar para comprobar cada día
bool Trade=true; //--bandera para la siguiente operación (puesta a true)
datetime bt,tm; //---- variables para la función de comprobación del día
....
int init()
{
if(WaitForNewDay) {Trade=false;} //---- si el modo está habilitado, entonces en la inicialización se asigna la bandera para prohibir el comercio
return(0);
}
.....
int inicio()
{
if(WaitForNewDay) CheckForNewDay();
...
if(CalculateCurrentOrders(Symbol())==0 && Trade) //----- comprueba las órdenes abiertas y comprueba la bandera
{
CheckForOpen(); //---------open order
if (WaitForNewDay) {Trade=false;} //----------- si el modo del mismo día está habilitado, entonces el comercio se desactiva después del comercio
volver;
}
}
//--------------función para comprobar un día
void CheckForNewDay()
{
tm=iTime(Symbol(),PERIOD_D1,0); //--------- comprobar el día actual
if (bt!=tm) {bt=tm; trade=true;} //---------- si la fecha antigua no coincide con la fecha actual, la fecha antigua se asigna al valor de la fecha actual y la bandera se permite operar
}
¿Y dónde tiene un botón?
(las operaciones se abren cuando se apagan, pero no una vez al día)
¿Y cómo es esto?
El error está en el post original, lo arreglo ahora. Cuando WaitForNewDay = false, el Asesor Experto trabaja sin límite - 1 operación por día.
El error está en el post original, lo arreglo ahora. Cuando WaitForNewDay = false, el EA trabaja sin límite - 1 operación por día.
El código está mal. En primer lugar, si la función start() es de tipo int, debería devolver un valor entero. Su devolución es devuelta sólo por una condición. Y si la condición no se cumple, ¿qué debe devolver la función start() a la terminal?
Además, es demasiado complicado de comprobar - mejor hacer lo siguiente: creamos un contador de órdenes, abiertas y cerradas hoy. Si el número de órdenes cerradas hoy es mayor que cero, entonces no se negocia. De lo contrario, se le permite comerciar.
¿Cómo puedo ver el gráfico de ticks, con todo el historial?
Escriba un indicador que dibuje ticks después del lanzamiento. Opción 2 - escribir cada tic en un documento de texto y posteriormente recuperar todo el historial de tic en el momento adecuado.
Escriba un indicador que dibuje los ticks después del lanzamiento. Opción 2: anotar cada tic en un documento de texto y recuperar posteriormente todo el historial de tic en el momento oportuno.