para as próximas pessoas que vierem e não conseguirem fazer funcionar, meu problema foi resolvido, bastando abrir tudo na sequência lógica.
Primeiro o servidor dde, depois o meta trader 5, colocar o robô no par que eu queria, autorizar todas as dlls do meta trader 5 e só então abrir o Excel.
meu erro foi deixar o excel aberto antes de abrir todos os outros programas... fica a dica.
Ferramenta muito útil e fácil de usar para recuperar dados do MT5 para o Excel. Aqui está um código para fazer com que ela recupere vários tipos de dados de vários ativos simultaneamente
voidOnTimer()
{
// Recuperar a oferta atual, a venda, a alta, a baixa e o último volume do símbolo do gráficodouble bidPrice = 0.0;
double askPrice = 0.0;
double highPrice = 0.0;
double lowPrice = 0.0;
double lastVolume = 0.0;
string symbol = _Symbol; // Obtém o símbolo do gráfico ao qual o EA está anexadoif(SymbolInfoDouble(symbol, SYMBOL_BID, bidPrice) &&
SymbolInfoDouble(symbol, SYMBOL_ASK, askPrice) &&
SymbolInfoDouble(symbol, SYMBOL_HIGH, highPrice) &&
SymbolInfoDouble(symbol, SYMBOL_LOW, lowPrice) &&
SymbolInfoDouble(symbol, SYMBOL_VOLUME_REAL, lastVolume))
{
// Tópicos DDE exclusivos para cada símbolostring bidTopic = symbol + "_BID";
string askTopic = symbol + "_ASK";
string highTopic = symbol + "_HIGH";
string lowTopic = symbol + "_LOW";
string volumeTopic = symbol + "_VOLUME";
// Verificar e adicionar itens DDE para cada ponto de dados com o nome do símboloif(!CheckItem("PRICE", bidTopic)) AddItem("PRICE", bidTopic);
if(!CheckItem("PRICE", askTopic)) AddItem("PRICE", askTopic);
if(!CheckItem("PRICE", highTopic)) AddItem("PRICE", highTopic);
if(!CheckItem("PRICE", lowTopic)) AddItem("PRICE", lowTopic);
if(!CheckItem("PRICE", volumeTopic)) AddItem("PRICE", volumeTopic);
// Definir itens DDE com os dados
SetItem("PRICE", bidTopic, DoubleToString(bidPrice, _Digits));
SetItem("PRICE", askTopic, DoubleToString(askPrice, _Digits));
SetItem("PRICE", highTopic, DoubleToString(highPrice, _Digits));
SetItem("PRICE", lowTopic, DoubleToString(lowPrice, _Digits));
SetItem("PRICE", volumeTopic, DoubleToString(lastVolume, 0)); // O volume é geralmente um número inteiro
}
else
{
// Tratamento do erro se alguma informação de preço não puder ser recuperadaAlert("Error retrieving price information for " + symbol);
}
}
// resto do código existente ...
trade.PositionOpen(_Symbol, ORDER_TYPE_BUY_LIMIT, 0.1, nOPPrice, 0, 0, "Commentyup"); Eu uso a biblioteca trade.mqh no MT5..... e, para compra e venda, a execução ocorre normalmente... mas não há posições abertas para buylimit e selllimit..... Alguém aqui pode me ajudar?
Reprogramei-o para que eu receba dados de ticks ao vivo (compra e venda) diretamente no Excel/Libreoffice. Exatamente da mesma forma que no MT4. Não há diferença alguma. Obrigado por isso!
finalmente consegui!!!!!
para as próximas pessoas que vierem e não conseguirem fazer funcionar, meu problema foi resolvido, bastando abrir tudo na sequência lógica.
Primeiro o servidor dde, depois o meta trader 5, colocar o robô no par que eu queria, autorizar todas as dlls do meta trader 5 e só então abrir o Excel.
meu erro foi deixar o excel aberto antes de abrir todos os outros programas... fica a dica.
Ferramenta muito útil e fácil de usar para recuperar dados do MT5 para o Excel. Aqui está um código para fazer com que ela recupere vários tipos de dados de vários ativos simultaneamente
Reprogramei-o para que eu receba dados de ticks ao vivo (compra e venda) diretamente no Excel/Libreoffice. Exatamente da mesma forma que no MT4. Não há diferença alguma. Obrigado por isso!