Há!!!
e mais uma coisa preciso tambem colocar em um EA uma função para fechar todas as ordens tanto de compra como de venda, ordens com lucro ou prejuízo desde que a soma de todas seja maior que porcentagem especificada .
tipo AccountProfit seja maior que 1% por exemplo.
Estou tentando o seguinte código mas ele so esta fechando ordens que estão no lucro e preciso fechar todas simultaneamente.
//+---------------------------------------------------------------------------------------------------------------------------------------------------
if((AccountProfit()*100)/AccountBalance()>ProfitPorCento)
{
for(int i=0;i<=OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();
bool result = false;
switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, clrRed );
break;
//Close opened short positions
case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, clrRed );
break;
}
}
}
//+---------------------------------------------------------------------------------------------------------------------------------------------------
if((AccountProfit()*100)/AccountBalance()>ProfitPorCento)
{
for(int i=0;i<=OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS);
int type = OrderType();
bool result = false;
switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, clrRed );
break;
//Close opened short positions
case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, clrRed );
break;
}
}
}
//+---------------------------------------------------------------------------------------------------------------------------------------------------
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Estou precisando de uma ajuda com, como retornar valores (lot, preço, stoploss, etc.) de ordens atuais e encerradas.
Preciso buscar apenas uma ordem por vez e receber alguns parâmetros dela para usar em nova ordem.
Talvez possa usar algo tipo "OrderHistoryTotal" ou "OrderSelect" ou os dois.
Alguém pode postar um exemplo de um código para isso?