¿Cómo codificar? - página 150

 

Hola, tengo un experto que utilizo que necesita ser capaz de reenviar una orden de compra o de venta si hay un problema de apertura de la orden si el servidor está desconectado, ocupado o lo que sea. Esta mañana debería haber abierto una orden pero no ha podido porque la plataforma estaba desconectada. En el código ahora mismo está configurado para esperar 3 segundos y luego intentar de nuevo, lo que hizo pero sólo intentó 3 veces y luego dejó de intentar enviar la orden a través. mi ea no scalp pero es más un comercio a medio plazo por lo que sólo tengo 1-3 operaciones por semana por par. Como puedo tenerlo codificado para que espere 10 segundos antes de que lo intente de nuevo y luego siga tratando de enviar la orden hasta que lo consiga, me gustaría tener la opción de ajustar en el código cuántos segundos espera para intentarlo de nuevo y luego también cuántas veces lo seguirá intentando.

He adjuntado un fragmento de código para que alguien pueda ver lo que se puede cambiar. Gracias de antemano por su ayuda.

Mike

RefreshRates();

int ticket=OrderSend(Symbol(),OP_BUY,ManagedLotSize(),Ask,Slippage,sl,tp, "Expert" + " - " + Period(),MagicNumber,0,Lime);

if(ticket<0)

{

Print("Error al abrir la orden de COMPRA : ",GetLastError());

Sleep(3000); //---- esperar 3 segundos

}

else

{

romper;

}

}

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))

{

Print("Orden de compra abierta : ",OrderOpenPrice());

}

si no

{

Print("Error al abrir la orden de COMPRA : ",GetLastError());

}

}

void GestionarVenta()

{

doble tp,sl;

if (TakeProfit==0) { tp=0; } else { tp=Bid-TakeProfit*Point; }

if (StopLoss==0) { sl=0; } else { sl=Bid+StopLoss*Point; }

for (int i = 1; i <=5; i++) //---- Loop if requote

{

ActualizarTarifas();

int ticket=OrderSend(Symbol(),OP_SELL,ManagedLotSize(),Bid,Slippage,sl,tp, "Expert" + " - " + Period(),MagicNumber,0,Red);

if(ticket<0)

{

Print("Error al abrir la orden SELL : ",GetLastError());

Sleep(3000); //---- esperar 3 segundos

}

else

{

romper;

}

}

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))

{

Print("Orden de venta abierta : ",OrderOpenPrice());

}

else

{

Print("Error al abrir la orden de VENTA : ",GetLastError());

}

 

Utilice el archivo de inclusión OrderReliable.

Lux

Archivos adjuntos:
 

Hola kevin07

Voy a probar la nueva versión de la señal de alerta nonlagzigzag cuando el mercado se abre el domingo. Gracias de nuevo por tu trabajo. Usted y otros aquí que dan su tiempo y experiencia pro bono son lo que hace que muchos de nosotros los comerciantes más exitosos. Te haré saber mis resultados con el nuevo indi.

Saludos cordiales, Tom.

 

ayuda para arreglar este indicador

hola a todos ,, cuando intento compilar este indicador ,, me aparece este error ,, se podría arreglar por favor

gracias

Archivos adjuntos:
 
zombie333:
hola a todos ,, cuando intento compilar este indicador ,, me aparece este error ,, se podría arreglar por favor gracias

No te preocupes, no son errores, son sólo advertencias. Ponen toda la librería en el indicador, pero solo usaron la parte.

 
Roger09:
No te preocupes, no son errores, son sólo advertencias. Pusieron toda la librería en el indicador, pero usaron solo la parte.

gracias roger por decirme que es lo que significa ,,,

¿pero por qué no aparece cuando lo pongo en el gráfico?

¿podrías comprobarlo, por favor?

 

Si lo pones en el directorio /experts/indicators y luego lo compilas, reinicia tu terminal y mira en Navigator/Custom Indicators.

 
Roger09:
Si lo pones en el directorio /experts/indicators y luego lo compilas, reinicia tu terminal y mira en Navigator/Custom Indicators.

No roger ,, a esto me refiero ,,

Archivos adjuntos:
 

Cuando se inicia el indicador, se debe permitir la importación de DLL.

 
Roger09:
Cuando se inicia el indicador, se debe permitir la importación de DLL.

gracias Roger ,, ahora es el trabajo ,,

Razón de la queja: