Скачать MetaTrader 5

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

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

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

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

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

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

Это я понял изначально. Я в первом посте написал, что есть два выхода, либо писать функции (как предложил jartmailru), либо использовать готовые библиотеки (как посоветовал VladislavVG). Изобретать велосипед не особо хочется, так как мне нужно не один два индикатора, а достаточно много (использую в качестве фильтров). Поэтому использование TA-lib считаю рациональным, но как я написал 5 посте есть проблемы. Спасибо, что откликнулись!
Vladyslav Goshkov
2074
Vladyslav Goshkov 2011.11.17 07:57  
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 2011.11.17 09:45  
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
Антон 2011.11.17 10:24  

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

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