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
Un poco de ayuda por favor con un EA
Estoy tratando de cerrar una orden de venta y abrir una nueva orden de compra. La de compra se abre pero la de venta da error 4051
Estoy utilizando
ticket = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Gold);// cerrar posición
y
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);
¿Cómo cambiar el número mágico?
Hola a todos,
Utilizo un EA de diferencia (copia de un EA de origen) para operar con pares de diferencia en la ventana del gráfico de diferencia y me gustaría cambiar el número mágico, pero no sé cómo funciona el número mágico. ¿Podríais decirme, por favor, cómo funciona el número mágico?
1. ¿Cómo funciona el número mágico?
2. ¿Cómo cambiar el número mágico?
3. ¿Puedo tomar cualquier número para cambiar el número mágico o debo usar algún número en algunas reglas?
4. ¿Podría darme un ejemplo para cambiar el número mágico en el número mágico de mi EA: 16763?
Muchas gracias por su ayuda.
El número mágico no es más que un identificador único. Distingue cada instancia del mismo EA a la vez que lo distingue de cualquier otro EA que pueda tener en ejecución.
Si el número mágico es una variable externa, cámbielo por cualquier número que desee. Sólo asegúrese de que no es el mismo número que cualquier otro EA que tenga en ejecución.
Si no es una variable externa, busque la variable en el código y cámbiela por cualquier número que desee.
Espero que eso ayude.
Lux
El número mágico no es más que un identificador único. Distingue cada instancia del mismo EA y también lo distingue de cualquier otro EA que pueda tener en ejecución.
Si el número mágico es una variable externa, cámbialo por el número que quieras. Sólo asegúrate de que no sea el mismo número que cualquier otro EA que tengas en marcha.
Si no es una variable externa, busque la variable en el código y cámbiela por cualquier número que desee.
Espero que eso ayude.
LuxHola Lux,
¿Quieres decir que puedo cambiar el número mágico de mi EA:16763 a 16764 ; 16765 ect... ?
Gracias por tu rápida respuesta.
Luu
Hola Lux,
¿Quiere decir que puedo cambiar el número mágico de mi EA:16763 a 16764 ; 16765 ect...?
Gracias por su rápida respuesta.
LuuExactamente. Mientras el número sea único no importa el número que elijas.
Realmente no es necesario cambiarlo a menos que tenga una razón específica para hacerlo.
Lux
Exacto. Mientras el número sea único no importa el número que elijas.
Realmente no es necesario cambiarlo a menos que tengas una razón específica para hacerlo.
Lux¡Muchas gracias por tu ayuda Lux!
Luu
Problemas de orden de cierre de EA
Amigos ı tienen un EA con indicador de resistencia de apoyo.EA debe completar las órdenes en el beneficio objetivo.Pero carece a veces.Cómo puede ı deshacerse de este problema.Por favor, ayúdame
Por favor, ayuda con un simple script genérico.
Hola
¿Puede alguien ayudarme con un simple script?
Esto es lo que necesito.
Un script muy genérico que puede ser utilizado en cualquier símbolo que colocará 3-4 órdenes para SELL_STOP y BUY_STOP
Digamos que quiero colocar un buy_stop 20 puntos por encima del precio actual, segunda orden 40 puntos por encima del precio actual, 3d 80 puntos y así sucesivamente.
Lo mismo para Sell_Stop
He intentado montar el script basándome en algunos ejemplos pero como no estoy familiarizado con el lenguaje C estoy teniendo algunos problemas.
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""// improved.mq4
int inicio()
{
int ticket,i;
int cnt=1;
int Dist_SL =10; // Preset SL (pt)
int Dist_TP =100; // Preajuste TP (pt)
string Symb=Símbolo(); // Símbolo
RefreshRates();
double bid =MarketInfo(Symb,MODE_BID);
double ask =MarketInfo(Symb,MODE_ASK);
double point =MarketInfo(Symb,MODE_POINT);
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);
if (Dist_TP < Min_Dist) // Si es menor de lo permitido
{
Dist_TP=Min_Dist; // Establece lo permitido
Alert(" Aumentada la distancia de TakeP = ",Dist_TP," pt");
}
//-------------------------------------------------------------------- 6 --
Alert("La solicitud fue enviada al servidor. Esperando respuesta..");
for(i=100;i<400;i=i+100)
{
double TP=(ask+i*Point) + Dist_TP*Point; // Precio solicitado de TP
ticket=OrderSend(Symb,OP_BUYSTOP,0.1,ask+i*Point,1,(ask+i*Point)-Dist_SL*Point,TP);
Sleep(500);
int Error=GetLastError(); // Falló
switch(Error) // Errores superables
{
case 130:Alert("El SL está mal. Reintento.");
RefreshRates(); // Actualizar datos
if (Dist_SL < Min_Dist) // Si es menor de lo permitido
{
Dist_SL=Min_Dist; // Establecer lo permitido
Alert(" Aumentada la distancia de SL = ",Dist_SL," pt");
}
i=i-50;
Alert (i);
Alert (Dist_SL);
cnt=cnt+1;
Alert (cnt);
si (cnt==3)break;
continue; // En la siguiente iteración
case 135:Alert("El precio ha cambiado. Reintento.");
RefreshRates(); // Actualiza los datos
continue; // En la siguiente iteración
case 136:Alert("No hay precios. Esperando un nuevo tick..");
while(RefreshRates()==false) // Hasta un nuevo tick
Sleep(1); // Retraso del ciclo
continue; // En la siguiente iteración
case 146:Alert("El subsistema de negociación está ocupado. Reintentando..");
Sleep(500); // Solución simple
RefreshRates(); // Actualiza los datos
continue; // En la siguiente iteración
}
switch(Error) // Errores críticos
{
caso 2 : Alert("Error común.");
break; // Salir de 'switch'
caso 5 : Alert("Versión desfasada del terminal cliente.");
break; // Salir del 'switch'
caso 64: Alert("La cuenta está bloqueada.");
break; // Salir de 'switch'
case 133: Alert("Se prohíbe operar");
break; // Salir de 'switch'
por defecto: Alert("Se ha producido un error ",Error);// Otras alternativas
}
//break;
}
//-------------------------------------------------------------------------- 9 --
Alert ("El script ha completado sus operaciones ---------------------------");
return; // Salir de start()
}
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Es una especie de trabajo, pero muchas veces estoy teniendo problema con la pérdida de la parada.
Su idea es si podemos cambiar la serpiente con la tasa gaussiana sr dentro de la
El indicador ssrc puede pagar dividendos, ¿qué piensa usted?
el ssrc sería la tasa gaussiana de sr de un lado la correlación de rango de los soldados
"(intenté codificarlo pero se me fue de las manos)
ssrc_bar.mq4
ssrc.mq4
os_gaussian_sr_rate.mq4
Nueva pregunta: El 5º decimal y la gestión del dinero
En otro foro que frecuento y que es para clientes de un EA en particular, un cliente se quejaba de que el desarrollador del EA aún no había solucionado el problema del 5º decimal / precio fraccionario para su EA.
El desarrollador afirmó hace varios meses que este problema requería una secuencia de comandos especial para resolverlo. Ahora, 4 meses más tarde, básicamente dije que era ridículo que no se hubiera solucionado todavía - y afirmé que sólo requería unas pocas líneas de código para redefinir el "Punto" de forma similar al método descrito aquí.
Así que aquí viene la pregunta. El desarrollador sigue insistiendo en que este problema es supercomplicado y requiere una programación especial de scripts para solucionarlo. Aquí está la explicación del desarrollador:
Así que mi pregunta es la siguiente: ¿Alguno de vosotros, programadores experimentados, se ha encontrado con este complicado requisito de scripting o con problemas con el valor de "Point" de la plataforma MT4?
Incluso si se asume que el "Punto" se limita a 4 decimales, entonces eso significaría que sólo tiene que preocuparse por los pares con Punto = 0,001 ---- que todavía sólo toma una línea o dos de código.
O bien, podría utilizar "Dígitos" en lugar de "Punto" - que todavía utiliza sólo unas pocas líneas de código.
O simplemente podría utilizar una variable booleana como "UseFractionalPips = true;" para redefinir "Point".
Realmente siento que el desarrollador está haciendo el problema más complicado de lo que es (o tal vez otros motivos). Simplemente nunca he leído o escuchado de este problema con el "Punto" que se limita a sólo 4 decimales - e incluso si es usted podría utilizar "Dígitos" u otros métodos para redefinir el punto sin algún tipo de scripting especial.
Sólo he estado programando en MT4 durante 18 meses, así que pensé que podría diferir a algunos programadores más experimentados en cuanto a lo complicado que es el "arreglo" para hacer frente a la fijación de precios de pip fraccional en MT4.
¿Alguna idea?
Gracias de antemano por su ayuda,
-B