Hola,
Soy muy, muy nuevo en la codificación mql, y les pido ayuda con algunos conceptos básicos.
Parto de un intento muy simple: compruebo si no hay órdenes abiertas o pendientes, y abro algunas órdenes, mercado y stop.
Cuando todas las órdenes estén disparadas y cerradas, en pérdidas o ganancias, y no haya ninguna orden pendiente o abierta nuevamente, colocará las mismas órdenes:
El problema es que no puedo ponerlo en un ciclo; en egy tester pone los primeros 10 pedidos correctamente, y cuando están cerrados, por supuesto, no pasa nada.
He probado con for or while, pero estoy muy confundido con ellos:


inicio int()
{
si (TotalPedidos()==0)
{


OrderSend(Symbol(), OP_BUY, 0.01, NormalizeDouble(Ask,Digits), 0, NormalizeDouble(Ask-sl,Digits),NormalizeDouble(Ask tp,Digits), 10-20-corretto, 0, 0, Green);
OrderSend(Symbol(), OP_SELL, 0.01, NormalizeDouble(Bid,Digits), 0, NormalizeDouble(Bid sl,Digits),NormalizeDouble(Bid-tp,Digits), 10-20-corretto, 0, 0, Green);

OrderSend(Símbolo(), OP_BUYSTOP, 0.01, NormalizeDouble(Ask d,Digits), 0, NormalizeDouble(Ask d-sl,Digits),NormalizeDouble(Ask d tp,Digits), 10-20-corretto, 0 , 0, Verde);
OrderSend(Símbolo(), OP_BUYSTOP, 0.01, NormalizeDouble(Ask dueD,Digits), 0, NormalizeDouble(Ask dueD-sl,Digits),NormalizeDouble(Ask dueD tp,Digits), 10-20-corretto, 0 , 0, Verde);
OrderSend(Símbolo(), OP_BUYSTOP, 0.01, NormalizeDouble(Ask treD,Digits), 0, NormalizeDouble(Ask treD-sl,Digits),NormalizeDouble(Ask treD tp,Digits), 10-20-corretto, 0 , 0, Verde);
OrderSend(Símbolo(), OP_BUYSTOP, 0.01, NormalizeDouble(Ask quattroD,Digits), 0, NormalizeDouble(Ask quattroD-sl,Digits),NormalizeDouble(Ask quattroD tp,Digits), 10-20-corretto, 0 , 0, Verde);
OrderSend(Símbolo(), OP_SELLSTOP, 0.01, NormalizeDouble(Bid-d,Digits), 0, NormalizeDouble(Bid-d sl,Digits),NormalizeDouble(Bid-d-tp,Digits), 10-20-corretto, 0 , 0, Verde);
OrderSend(Símbolo(), OP_SELLSTOP, 0.01, NormalizeDouble(Bid-dueD,Digits), 0, NormalizeDouble(Bid-dueD sl,Digits),NormalizeDouble(Bid-dueD-tp,Digits), 10-20-corretto, 0 , 0, Verde);
OrderSend(Symbol(), OP_SELLSTOP, 0.01, NormalizeDouble(Bid-treD,Digits), 0, NormalizeDouble(Bid-treD sl,Digits),NormalizeDouble(Bid-treD-tp,Digits), 10-20-corretto, 0 , 0, Verde);
OrderSend(Symbol(), OP_SELLSTOP, 0.01, NormalizeDouble(Bid-quattroD,Digits), 0, NormalizeDouble(Bid-quattroD sl,Digits),NormalizeDouble(Bid-quattroD-tp,Digits), 10-20-corretto, 0 , 0, Verde);


}
}