Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Основной вопрос к mql4-программированию
Здравствуйте,
Я хочу импортировать некоторые функции из dll. Поэтому мне нужно включить некоторые *.h файлы.
Возможно ли это, или я должен написать *.mqh вместо *.h?
Эта dll предназначена для языка программирования Си.
И там есть функции с указателями и структурами в качестве дататайпов. Можно ли это использовать в mql4?
получение цены акций
Здравствуйте,
Я пытаюсь получить цены акций из meta trader с помощью c#, но не знаю, как это сделать.
Может ли кто-нибудь объяснить мне или послать меня в конкретное руководство?
Большое спасибо.
Здравствуйте,
Я пытаюсь получить цены акций из meta trader с помощью c#, но не знаю, как это сделать.
Может ли кто-нибудь объяснить мне или направить меня в конкретное руководство?
спасибо большое.В experts\examples\DLLExample вы найдете, как цены могут быть переданы из metatrader в C (это достаточно близко, так что вы можете использовать этот пример непосредственно для этого), Инфоструктура курса не изменилась с самого начала и по-прежнему определяется как :
{
unsigned int ctm;
double open;
double low;
double high;
double close;
double vol;
};
поэтому у вас не должно возникнуть никаких проблем с передачей ее в C#.
спасибо!
где эксперты\examples\DLLExample?
Спасибо! Где находится experts\examples\DLLExample?
В папке metatrader (папка, в которую вы его установили).
В папке metatrader (папка, в которую вы установили программу)
Я скачал 2 метатрейдера, и в обоих из них примеры были на c++. Я думаю, что мог бы понять, хотя я программирую на c#, но я не смог найти то, что мне нужно, как получить цены акций.
Я скачал 2 метатрейдера, и в обоих из них примеры были на c++. Я думаю, я мог бы понять это, хотя я программирую на c#, но я не смог найти то, что мне нужно, как получить цены акций.
Вы передаете цены от индикатора или советника в ваше расширение DLL.
У вас есть полный пример (MQL часть, а также C часть) в этой папке, как это делается. После получения данных из mql части в C# части это только вопрос кода, что вы собираетесь делать с ним.
Вы передаете цены от индикатора или советника в ваше расширение DLL У вас есть полный пример (MQL часть, а также C часть) в этой папке, как это делается. После получения данных из mql части в C# части это только вопрос кода, что вы собираетесь делать с ним.
Я не нашел примера на MQL или C, только на C++. В общем, функций было много, и я не мог понять, какая из них та, которая мне нужна для получения цены. есть ли у вас такой пример?
Спасибо большое.
Я не нашел примера ни на MQL, ни на C, только на C++. В любом случае, там было много функций, и я не мог понять, какая из них является функцией, которая мне нужна для получения цены. есть ли у вас такой пример? спасибо большое.
Со стороны C (см. комментарий) :
//| |
//+------------------------------------------------------------------+
MT4_EXPFUNC double __stdcall GetRatesItemValue(const RateInfo* rates,const int rates_total,const int shift,const int nrate)
{
//---
if(rates==NULL)
{
printf("GetRatesItemValue: NULL array\n");
return(0.0);
}
//---
if(rates_total<0)
{
printf("GetRatesItemValue: wrong rates_total number (%d)\n", rates_total);
return(0.0);
}
//---
if(shift=rates_total)
{
printf("GetRatesItemValue: wrong shift number (%d)\n", shift);
return(0.0);
}
//---
if(nrate5)
{
printf("GetRatesItemValue: wrong rate index (%d)\n", nrate);
return(0.0);
}
//
// here you are having prices, time and volume
//
int nitem=rates_total-1-shift;
switch(nrate)
{
case 0: return double(rates[nitem].ctm);
case 1: return rates[nitem].open;
case 2: return rates[nitem].low;
case 3: return rates[nitem].high;
case 4: return rates[nitem].close;
case 5: return rates[nitem].vol;
}
//---
return(0.0);
}
Со стороны C (см. комментарий) :
//| |
//+------------------------------------------------------------------+
MT4_EXPFUNC double __stdcall GetRatesItemValue(const RateInfo* rates,const int rates_total,const int shift,const int nrate)
{
//---
if(rates==NULL)
{
printf("GetRatesItemValue: NULL array\n");
return(0.0);
}
//---
if(rates_total<0)
{
printf("GetRatesItemValue: wrong rates_total number (%d)\n", rates_total);
return(0.0);
}
//---
if(shift=rates_total)
{
printf("GetRatesItemValue: wrong shift number (%d)\n", shift);
return(0.0);
}
//---
if(nrate5)
{
printf("GetRatesItemValue: wrong rate index (%d)\n", nrate);
return(0.0);
}
//
// here you are having prices, time and volume
//
int nitem=rates_total-1-shift;
switch(nrate)
{
case 0: return double(rates[nitem].ctm);
case 1: return rates[nitem].open;
case 2: return rates[nitem].low;
case 3: return rates[nitem].high;
case 4: return rates[nitem].close;
case 5: return rates[nitem].vol;
}
//---
return(0.0);
}
спасибо!
есть ли у вас что-то на C#? потому что мне это ничего не говорит.