La única opción para comprobar el EA es ponerlo en un servidor VPN en tiempo real en una cuenta demo... Microsoft Azure da casi un servidor gratis durante un mes, ¡necesitas 1$ para buscarlo en YouTube!...Hay otros servicios VPN, pero tienen 10 días máximo de uso gratuito.
¿Pueden decirme por qué este bloque elimina todas las órdenes stop pendientes sobre cualquier símbolo establecido en el terminal, ignorando la magia y el _Symbol?
//--------------------------------------------------------------------------------------------------------------// Блок удаления отложенников по типу ордера//--------------------------------------------------------------------------------------------------------------int dell_ord_by_type(int type_ord, int _magic)
{
bool ticketmdf;
int j;
int orders=OrdersTotal();
for(int i=0;i<orders;i++)//--- пробежим по списку ордеров
{
if( OrderGetString(ORDER_SYMBOL) ==Symbol() && OrderGetInteger(ORDER_MAGIC)==_magic && OrderGetInteger(ORDER_TYPE) ==type_ord)
{
if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY_STOP || OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_SELL_STOP)
{
for(j=Appempts; j>0; j--)
{
//----------------------------------------------------------------------MqlTradeResult result={0};
MqlTradeRequest request={0};
request.order=OrderGetTicket(i);
request.symbol = _Symbol;
request.magic = _magic;
request.action=TRADE_ACTION_REMOVE;
ticketmdf=OrderSend(request,result);
if(ticketmdf==true)
{
Print("Успешно удалён ордер");
Sleep(2000);
break;
}
if(ticketmdf==false)
{
Print("Ошибка при удалении ордера # ",+GetLastError());
Sleep(7000);
}
}
}
}
}
return(true);
}
¿Pueden decirme por qué este bloque elimina todas las órdenes stop pendientes sobre cualquier símbolo establecido en el terminal, ignorando la magia y el _Symbol?
1. el orden tiene que ser seleccionado primero;
2. El bucle debe construirse a partir del último pedido, es decir, for( i = pedidos-1; i >= 0; i-- )
¿Pueden decirme por qué esta unidad borra todas las órdenes stop pendientes sobre cualquier símbolo establecido en el terminal, ignorando la magia y el _Symbol?
int dell_ord_by_type(int type_ord, int _magic)
{
bool ticketmdf;
int j;
int orders=OrdersTotal();
for(int i=0;i<orders;i++)//--- пробежим по списку ордеров
{
ResetLastError();
ulong ticket=OrderGetTicket(i);
if(ticket!=0)// если ордер успешно скопирован в кэш, работаем с ним
{
if( OrderGetString(ORDER_SYMBOL) ==_Symbol && OrderGetInteger(ORDER_MAGIC)==_magic && OrderGetInteger(ORDER_TYPE) ==type_ord)
{
if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY_STOP || OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_SELL_STOP)
{
for(j=Appempts; j>0; j--)
{
Usted ha escrito más arriba: cuando se eliminan los pedidos, el ciclo debería invertirse. Cuando se elimina una orden, los índices de las órdenes restantes se desplazan.
int dell_ord_by_type(int type_ord, int _magic)
{
ulong nOrderTicket = 0;
for(int i = OrdersTotal() - 1; i >= 0; i--) //--- пробежим по списку ордеров
{
nOrderTicket = OrderGetTicket(i);
if(nOrderTicket > 0 && OrderGetString(ORDER_SYMBOL) == Symbol() && OrderGetInteger(ORDER_MAGIC) == _magic && OrderGetInteger(ORDER_TYPE) == type_ord)
{
if(OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_BUY_STOP || OrderGetInteger(ORDER_TYPE) == ORDER_TYPE_SELL_STOP)
{
// удаляем
}
}
}
return(0);
}
¿Puede decirme, por favor, que tal probador de tarifas en la vida real? ¿Y es un buen o mal resultado para el año con depo 3000$?
Un probador de estrategias siempre miente, ¡aunque la calidad de la simulación sea del 99,9%!
La única opción para comprobar el EA es ponerlo en un servidor VPN en tiempo real en una cuenta demo... Microsoft Azure da casi un servidor gratis durante un mes, ¡necesitas 1$ para buscarlo en YouTube!...Hay otros servicios VPN, pero tienen 10 días máximo de uso gratuito.
¡Chicos! ¿Es posible prohibir programáticamente el comercio manual en un EA?
¿Pueden decirme por qué este bloque elimina todas las órdenes stop pendientes sobre cualquier símbolo establecido en el terminal, ignorando la magia y el _Symbol?
¿Pueden decirme por qué este bloque elimina todas las órdenes stop pendientes sobre cualquier símbolo establecido en el terminal, ignorando la magia y el _Symbol?
1. el orden tiene que ser seleccionado primero;
2. El bucle debe construirse a partir del último pedido, es decir, for( i = pedidos-1; i >= 0; i-- )
¿Pueden decirme por qué esta unidad borra todas las órdenes stop pendientes sobre cualquier símbolo establecido en el terminal, ignorando la magia y el _Symbol?
Necesito seleccionar los pedidos:
¡Chicos! ¿Es posible prohibir programáticamente el comercio manual en un EA?
Tienes que elegir tus pedidos:
¿Es esto lo correcto?
Alexey Kozitsyn yKarputov Vladimir, ¡gracias por los consejos!
Usted ha escrito más arriba: cuando se eliminan los pedidos, el ciclo debería invertirse. Cuando se elimina una orden, los índices de las órdenes restantes se desplazan.