[¡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 340

 
Gracias a todos. Creo que lo tenemos todo resuelto.
 
smogsam >> :

Hola.

¿Cómo puedo saber si se activa el SL o el TP? Por ejemplo, si una orden se cierra en

SL o TP, ejecuten a fulano de tal. No he encontrado dicha función.

No hay funciones estándar, pero se pueden añadir señales en la ventana del terminal (sonido, archivo, correo).

Si utiliza un EA, puede añadir tanto una señal como una alerta y .....

 
¿Y qué? Necesito un experto.
 

Una pregunta más. Si(OrdersTotal()==0) este... si el número de órdenes abiertas es igual a cero... entonces como será...si el número de órdenes abiertas POR DÍA es cero.

¿No hay algo como OrdersDayTotal?

 
smogsam >> :
¿Y qué? Necesito estar en un experto.

Bueno, como lo que

"Si utilizas un EA puedes añadir tanto una señal como una alerta y ....."

"..." Puede ser cualquier cosa hasta apagar el PC.

 
future >> :

Una pregunta más. Si (OrdersTotal()==0) este... si el número de órdenes abiertas es igual a cero... Si el número de órdenes abiertas PARA EL DÍA es igual a cero, ¿qué pasaría?

¿No hay algo como OrdersDayTotal?

Supongamos que se abre una orden de compra, luego cerramos una orden de compra en una señal de venta, o se abre una orden de compra, luego escalamos en una señal de compra

Tipo de pedido()

Ver ayuda

MQL4 Reference - Funciones de negociación - OrderType

OrderOpenTime( )
 

Aparentemente ninguno de los profesionales trabaja con Dd.

Tal vez alguien sepa cómo ponerse en contacto con Mamadu, que es el autor del artículo,

sobre el que he estado preguntando por todo internet (sin éxito). Él es Dmitriy.

 
smogsam >> :

Hola.

¿Cómo puedo saber si se activa el SL o el TP? Por ejemplo, si una orden se cierra en

SL o TP, ejecutar esto o aquello. No he encontrado esta función.

Utilizo el siguiente esquema.

//Determinar si la operación anterior terminó con ganancias o con pérdidas
//------------------------------------------------------------------------------------------------------------------------------------------------
if (OrderSelect(Tic_Verh,SELECT_BY_TICKET)==true)
{
if (OrderComment()=="[sl]")_SL[0]=-1;
if (OrderComment()=="[tp]")_SL[0]=1;
}
if (OrderSelect(Tic_Niz,SELECT_BY_TICKET)==true)
{
if (OrderComment()=="[sl]")_SL[0]=-1;
if (OrderComment()=="[tp]")_SL[0]=1;
}
Las variables de tipo INT están marcadas en rojo, contienen números de TICs al abrir una posición

La variable _SL[0] se declara como un array unidimensional de un elemento, es decir, int _SL[1]

 

Por favor, aconseja cómo escribir un EA y no puedo hacerlo. Abro una orden de compra en un momento determinado, si el precio se desvía 10 pips más abajo una orden de venta debe abrir.
La primera orden se abre para la compra y cuando el precio se desvía al nivel bajo la orden de venta no se abre. Si el mercado sube 10 pips la función de cierre de la orden no se inicia.
aquí es una parte del código


.......................
.......................


bool opb1=true;
bool ops1=true;
int start()
{

int Cur_Hour=Hour(); // Hora del servidor en horas
double Time_Cls=9.25;
double Cur_Min=Minute();
double Cur_time=Cur_Hour + Cur_Min*0.01; // Hora actual


if (Cur_time>=Time_Cls)

{
if (opb1==true){

double bid =MarketInfo("EURUSD",MODE_BID);
double ask =MarketInfo("EURUSD",MODE_ASK);
double point =MarketInfo("EURUSD",MODE_POINT);
double bid1 =bid+50*Point;
double ask1=ask-50*Point;
double bid2=bid;
double ask2=ask-100*Point;


OrderSend(Symbol(),OP_BUY,0.1,Ask,50,Bid-400*Point,Bid+200*Point);
Alert (GetLastError());

opb1=false;}

if(MarketInfo("EURUSD",MODE_BID)>= bid1)


{
Close_All(0); //cerrar función de compra
return(0);
}
if(MarketInfo("EURUSD",MODE_ASK)<=ask1)

{
ask =MarketInfo("EURUSD",MODE_ASK); //
bid =MarketInfo("EURUSD",MODE_BID); //
point =MarketInfo("EURUSD",MODE_POINT);//
if (ops1==true){
OrderSend(Symbol(),OP_SELL,0.3,Bid,50,Ask+400*Point,Ask-200*Point);
Alert (GetLastError());
ops1=false;}
if(MarketInfo("EURUSD",MODE_ASK)<=ask2)
{
Close_All(1);// cerrar la función de venta
Close_All(0);
return(0);
}
¿o quizás estoy configurando mal la condición de apertura?

 

Por favor, aconseja cómo escribir un EA y no puedo hacerlo. Abro una orden de compra en un momento determinado, si el precio se desvía 10 pips más abajo una orden de venta debe abrir.
La primera orden se abre para la compra y cuando el precio se desvía al nivel bajo la orden de venta no se abre. Si el mercado sube 10 pips la función de cierre de la orden no se inicia.
aquí es una parte del código


.......................
.......................


bool opb1=true;
bool ops1=true;
int start()
{

int Cur_Hour=Hour(); // Hora del servidor en horas
double Time_Cls=9.25;
double Cur_Min=Minute();
double Cur_time=Cur_Hour + Cur_Min*0.01; // Hora actual


if (Cur_time>=Time_Cls)

{
if (opb1==true){

double bid =MarketInfo("EURUSD",MODE_BID);
double ask =MarketInfo("EURUSD",MODE_ASK);
double point =MarketInfo("EURUSD",MODE_POINT);
double bid1 =bid+50*Point;
double ask1=ask-50*Point;
double bid2=bid;
double ask2=ask-100*Point;


OrderSend(Symbol(),OP_BUY,0.1,Ask,50,Bid-400*Point,Bid+200*Point);
Alert (GetLastError());

opb1=false;}

if(MarketInfo("EURUSD",MODE_BID)>= bid1)


{
Close_All(0); //cerrar función de compra
return(0);
}
if(MarketInfo("EURUSD",MODE_ASK)<=ask1)

{
ask =MarketInfo("EURUSD",MODE_ASK); //
bid =MarketInfo("EURUSD",MODE_BID); //
point =MarketInfo("EURUSD",MODE_POINT);//
if (ops1==true){
OrderSend(Symbol(),OP_SELL,0.3,Bid,50,Ask+400*Point,Ask-200*Point);
Alert (GetLastError());
ops1=false;}
if(MarketInfo("EURUSD",MODE_ASK)<=ask2)
{
Close_All(1);// cerrar la función de venta
Close_All(0);
return(0);
}
¿o quizás estoy configurando mal la condición de apertura?

Razón de la queja: