Очень полезный и простой в использовании инструмент для извлечения данных MT5 в Excel. Вот код, позволяющий получать несколько типов данных из нескольких активов одновременно
voidOnTimer()
{
// Получаем текущие значения бид, аск, хай, лоу и последний объем для символа графикаdouble bidPrice = 0.0;
double askPrice = 0.0;
double highPrice = 0.0;
double lowPrice = 0.0;
double lastVolume = 0.0;
string symbol = _Symbol; // Получает символ графика, к которому прикреплен советникif(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))
{
// Уникальные темы DDE для каждого символаstring bidTopic = symbol + "_BID";
string askTopic = symbol + "_ASK";
string highTopic = symbol + "_HIGH";
string lowTopic = symbol + "_LOW";
string volumeTopic = symbol + "_VOLUME";
// Проверка и добавление элементов DDE для каждой точки данных с именем символаif(!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);
// Установите элементы DDE с данными
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)); // Объем обычно является целым числом
}
else
{
// Обработка ошибки, если информация о цене не может быть полученаAlert("Error retrieving price information for " + symbol);
}
}
// остальной существующий код ...
trade.PositionOpen(_Symbol, ORDER_TYPE_BUY_LIMIT, 0.1, nOPPrice, 0, 0, "Commentyup"); Я использую библиотеку trade.mqh на MT5..... и для buy и sell исполнение проходит нормально... но нет открытых позиций для buylimit и selllimit.... есть ли здесь кто-нибудь, кто может мне помочь?
Я перепрограммировал его таким образом, чтобы получать данные о тиках (бид и аск) непосредственно в excel/libreoffice. Точно так же, как и в MT4. Никакой разницы. Спасибо за это!
Наконец, я получил его!!!!!
для следующих людей, которые придут и не смогут заставить его работать, моя проблема была решена, просто открыв все в логической последовательности.
Сначала сервер dde, затем meta trader 5, установить робота в нужную мне пару, разрешить все dlls meta trader 5, и только потом открыть excel.
Моя ошибка заключалась в том, что я оставлял excel открытым перед открытием всех остальных программ... вот вам и совет.
Очень полезный и простой в использовании инструмент для извлечения данных MT5 в Excel. Вот код, позволяющий получать несколько типов данных из нескольких активов одновременно
Я перепрограммировал его таким образом, чтобы получать данные о тиках (бид и аск) непосредственно в excel/libreoffice. Точно так же, как и в MT4. Никакой разницы. Спасибо за это!