Código insertado int Número de intentos = 10; segundos dobles entre intentos = 2,5; for (int i=1; ilt;=NumberOfAttempts; i ) {/bucle para el número requerido de intentos int OrderNum = OrderSend(#91;color=Blue#93;lt;lt;...parameters... gt ;gt;#91;/color#93; int NúmeroError = Obtener??ltimoError(); if (NúmeroPedido gt; 0) descanso;/se creó una orden válida, por lo tanto, salga del ciclo si (ErrorNum #91;color=Blue#93;lt;lt;...cumple cualquier condición...gt;gt;#91;/color#93 {/Ocurrió una condición de error Sleep(SecondsBetweenAttempts*1000);/espera el número especificado de segundos RefreshRates();/tasas de actualización y bucle de nuevo para volver a intentarlo } else { break;/salir del ciclo } } Mike, Algo como lo anterior debería funcionar (aunque lo escribí de la cabeza y no lo he probado). Si está creando órdenes pendientes, entonces no hay problema. Sin embargo, si está creando órdenes de mercado, es probable que deba agregar SL y TP como un paso ModifyOrder() separado, para evitar el error 130 #8212; Paradas no válidas. David