Тука да се пита (и отговаря) за конкретни работи дето се мъчим да напишем, обаче или не се сещаме как или не е възможно (и съответно трябва да се измисли нещо друго допълнително).

Първия проблем язе да поставя - как да се направи CopyRates и CopyBuffer когато са зададени по начално и крайно време (третия вариант на функцията) да копират само някакъв брой котировки, а не целия масив (както се случва със задаване на начална и крайна позиция и prev_calculated/rates_total).

https://www.mql5.com/en/docs/series/copyrates
https://docs.mql4.com/series/copyrates
https://www.mql5.com/en/docs/series/copybuffer

Проблема е валиден и за MQL4, и за MQL5.