Скачать MetaTrader 5

Перенос расчета индикаторов в dll - страница 2

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Андрей
1890
Андрей  
palat:
Вы предлогаете в проект на C++
Не, не совсем чтобы предлагаю. Я просто говорю, что так можно- потому что я сам так делал.
Язык mql близок к си- поэтому такая штука возможна.
palat:
скопировать mql-код индикатора, предварительно его изменив, а затем вызывать как функцию
Я правильно Вас понял? Если нет, то можете на примере MA описать. Спасибо!
Да-да. Все правильно.
Можно поменять, но можно сделать и так, чтобы не менять.
Антон
35
Антон  

Ребят, вопрос по "правильному"использованию библиотек TA-lib, остается открытым. Кто пользовальсь ими, отпишитесь пожалуйста!

Yuri
634
Yuri  
jartmailru:
Так а язык С++ переносится на другие платформы...
Речь о другом- переносить mql в С++ - просто!
И что самое главное- при правильном переносе-
можно уже не тратить много времени на проверку...

Так наверное и сторонняя библиотека не нужна? Передать значения баров в сишные функции, а код в функциях будет чисто MQL-овским.
Антон
35
Антон  
yuripk:

Так наверное и сторонняя библиотека не нужна? Передать значения баров в сишные функции, а код в функциях будет чисто MQL-овским.

Это я понял изначально. Я в первом посте написал, что есть два выхода, либо писать функции (как предложил jartmailru), либо использовать готовые библиотеки (как посоветовал VladislavVG). Изобретать велосипед не особо хочется, так как мне нужно не один два индикатора, а достаточно много (использую в качестве фильтров). Поэтому использование TA-lib считаю рациональным, но как я написал 5 посте есть проблемы. Спасибо, что откликнулись!
Vladyslav Goshkov
2156
Vladyslav Goshkov  
palat:

Это я понял изначально. Я в первом посте написал, что есть два выхода, либо писать функции (как предложил jartmailru), либо использовать готовые библиотеки (как посоветовал VladislavVG). Изобретать велосипед не особо хочется, так как мне нужно не один два индикатора, а достаточно много (использую в качестве фильтров). Поэтому использование TA-lib считаю рациональным, но как я написал 5 посте есть проблемы. Спасибо, что откликнулись!

Сам я от использования ТА-либ отказался - для моих целей все равно нужно переписывать интрфейсы функций. Потому предпочитаю перенести код напрямую.

И еще :

for (int c=0;c<rates_total-1;c++)
{
ctm[c]=rates[rates_total-1-c].ctm;
open[c]=rates[rates_total-1-c].open;
low[c]=rates[rates_total-1-c].low;
high[c]=rates[rates_total-1-c].high;
close[c]=rates[rates_total-1-c].close;
vol[c]=rates[rates_total-1-c].vol;
}

думаю, лучше так:

int k=0;
for (int c=rates_total-1;c>=0;c--,k++)
{
ctm[k]=rates[c].ctm;
.......................................
vol[k]=rates[c].vol;
}

Удачи.

Vadim Zhunko
5226
Vadim Zhunko  
VladislavVG:

И еще :

думаю, лучше так:

int k=0;
for (int c=rates_total-1;c>=0;c--,k++)
{
ctm[k]=rates[c].ctm;
.......................................
vol[k]=rates[c].vol;
}

Удачи.

Ещё лучше так:

Utils::Array::Turn(rates);
:-))
Антон
35
Антон  

Спасибо, Всем!

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий