Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Hi All!
Господа, что не так я делаю с ArrayCopyRates?
Взял за основу пример дллки, порезал все лишнее ф-0ция в длл:
DLL_API double __stdcall SetData(const RateInfo* rates,const int rates_total,const int shift,const int nrate)
{
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 5.0;
}
В советнике:
int start()
{
ArrayCopyRates(rates);
double price=MPLSetData(rates,Bars,0,CLOSE_INDEX);
Print("Returned from rates ",rates[Bars-1][CLOSE_INDEX]);
Print("Returned from func ",price);
return(0);
}
В результате видим:
2008.06.18 12:31:02 test_dll EURUSD,M5: Returned from rates 1.2837
2008.06.18 12:31:02 test_dll EURUSD,M5: Returned from func 138
Импорт ф-ции делается как в примере:
double SetData(double rates[][6],int,int,int);