Подскажите пожалуйста, OpenCL влияет как то на скорость при тестировании или это только для написания кодов, если код написан под OpenCL то в режиме тестирование будет работать гораздо быстрей, а если код-просто код.
Насколько я понял, OpenCL в МТ5 помогает в работе с "тяжелой" графикой, видеокарта в тестировании и оптимизации не усчаствует, иначе давно бы уже все майнили на сервисе агентов, как на биткойнах.
evillive: Насколько я понял, OpenCL в МТ5 помогает в работе с "тяжелой" графикой, видеокарта в тестировании и оптимизации не участвует, иначе давно бы уже все майнили на сервисе агентов, как на биткойнах.
Жаль если так, хотелось бы что бы все было задействовано)
Просто бывало, увидел я код-робота на том сайте мт5, скачал, запускаю тест и все так долго, особенно на всех тиках, куда лучше было бы задействовать все ядра а не одно, но вполне вероятно что большинство кодов выложенных на том сайте написаны криво, потому и так долго тест идет, процессор у меня конечно не интел, но 8 ядер 4.000 ГГц должно все летать, а сижу в тестере будь то на нубуке, печально если мт5 в этом виноват, зачем он такой.
Значение i неправильно считаете, цикл никогда не просчитается, а ещё будет выход за пределы массива в нескольких местах (причины выделены красным).
Лучше так:
indx = rates_total-prev_calculated; //было indx = rates_total-prev_calculated-1; - что чаще всего < 0
if(prev_calculated<1) indx=rates_total-2; //было if(indx<0) indx=0; - то есть всегда i=0 а цикл-то до 1, на i=0 цикл никогда не просчитается
sm_bar = (Close[1] - Open[rates_total-1])/rates_total; //индекс не может быть [rates_total]
i = indx;
k = 0;
ekviti[rates_total-1] = 0; //индекс не может быть [rates_total]
while(i >= 0)
{
if(bar_n == TimeDayOfWeek(iTime(NULL,0,i)))
{
ekviti[i] = ekviti[i+1] + close[i] - open[i] - sm_bar;
k++;
}
else ekviti[i] = ekviti[i + 1];
i--;
}
Доброго времени суток! Извиняюсь если я не по теме, но сил уже нету - крик души! Ребята, подскажите пожалуйста как написать индикатор мучаюсь уже над этой темой наверное месяц блин. И интернет перерыл и сам в MQL4 пробовал разобраться ничего не выходит. Пустяковый индикатор а ничего не получается. Индикатор должен показывать в виде линии разницу между двумя CFD инструментами в пунктах. Т.е. (bid+ask)/2 первого инструмента минус (bid+ask)/2 второго инструмента соответственно по свечам. Имена инструментов должны задаваться в настройках индикатора их должно быть два. Изменяться конечный участок линии должен с каждым новым тиком. И синхронизироваться котировки должны по времени а не по свечам (разное количество свечей в день BRN и CL). Помогите плиз, добрые люди! Заранее благодарен.
Подскажите пожалуйста, OpenCL влияет как то на скорость при тестировании или это только для написания кодов, если код написан под OpenCL то в режиме тестирование будет работать гораздо быстрей, а если код-просто код.
Насколько я понял, OpenCL в МТ5 помогает в работе с "тяжелой" графикой, видеокарта в тестировании и оптимизации не участвует, иначе давно бы уже все майнили на сервисе агентов, как на биткойнах.
Жаль если так, хотелось бы что бы все было задействовано)
Просто бывало, увидел я код-робота на том сайте мт5, скачал, запускаю тест и все так долго, особенно на всех тиках, куда лучше было бы задействовать все ядра а не одно, но вполне вероятно что большинство кодов выложенных на том сайте написаны криво, потому и так долго тест идет, процессор у меня конечно не интел, но 8 ядер 4.000 ГГц должно все летать, а сижу в тестере будь то на нубуке, печально если мт5 в этом виноват, зачем он такой.
Переменная там должна быть, а не что-то еще:
Подскажите, где ошибка. Голова уже болит. (
окно индикатора висит от -99999... до +99999...99
окно индикатора висит от -99999... до +99999...99
Значение i неправильно считаете, цикл никогда не просчитается, а ещё будет выход за пределы массива в нескольких местах (причины выделены красным).
Лучше так: