РАЗРАБОТЧИКАМ!!! - помогите совместить 2 скрипта и 2 индикатора

Indicatori Esperti

Lavoro terminato

Tempo di esecuzione 32 minuti

Specifiche

Совместить 2 скрипта и 2 индикатора
Смысл какой - есть файлы hst с одноминутным интервалом с историей прошлого и есть файлы hst с разноминутными интервалами - с текущей историей.
Что требуется - написать скрипт, который бы считывал заданное количество баров из файлов с текущей историей, затем преобразовывал график с помощью RSI, то есть надо построить RSI, но не обязательно его выводить на экран, достаточно его нахождения в буфере, и остальные операции построения индикаторов можно производить без отображения.
Затем надо открывать файлы с историей прошлого попеременно, по одному файлу, при этом строя на них с помощью RSI c каналом BolingerBands (то есть на RSI строим BolingerBands) для этого уже есть готовый скрипт http://codebase.mql4.com/ru/1179#8280 но уже без МА или его мод, прикрепленный ниже, это тоже можно не отображать в терминале. Затем надо сравнить попадает ли RSI на файле с текущей историей в канал BB в файлах с историей прошлого, то есть надо сравнить в двух файлах RSI - в одном файле с ВВ построенном на RSI в другом по всему файлу. Если тот фрагмент истории который мы задали как текущий с заданным количеством баров попал в канал в исторических файлах прошлого, то из историческрго файла прошлого требуется сделать експорт в текст того фрагмента, который нашёлся. Если не нашёлся, то на файле с историей прошлого применяется оптимизиованный конвертер периодов с заданными внутри скрипта таймфреймами например от 2 до 30 (т.е. 2,3,4 ... 30 мин.), то есть надо переписать оптимизированный конвертер периодов так, чтобы он автоматически переключал таймфреймы и чтобы это происходило только в оперативке, в смысле без записи в файл каждого таймфрейма. Потом надо сравнить файл с построенным RSI текущей истории с остальными заданными таймфреймами получившихся из больших файлов с прощлым. В общем по порядку - есть большие файлы hst с историей прошлого, на которых применяется RSI+BB и после каждого прохода сравнения эти большие файлы подвергаются сначала конвертированию по периодам и построению RSI+BB. Затем каждый получившийся таймфрейм с RSI+BB сравнивается с текущим файлом истории на котором задавали количество баров и строили RSI, то есть та же процедура сравнения - попадает ли RSI на файле с текущей историей в канал BB в файлах с историей прошлого. Например у нас есть файлы с историей с 1999 года по 1 мин GBPJPY1, EURUSD1….. ######1. Они находятся в папке терминала с историей, здесь же находятся и файлы с текущей историей например AUDCAD1, AUDCAD5, AUDCAD15, наверное надо будет указать какие файлы с какими сравнивать. Т.е. из AUDCAD1 считать с конца баров 200-300, затем построить RSI, оставить в буфере индикатор. Потом открыть GBPJPY1, построить на нём RSI+BB, считывать по 200-300 баров (в зависимости от того по сколько было задано считывать) сравнить RSI AUDCAD1 c BB GBPJPY1, если RSI AUDCAD1 попал в канал ВВ GBPJPY1, а здесь сравниваются RSI AUDCAD1 с верхним и нижним пределом ВВ GBPJPY1, то значит при попаднии в канал всего RSI AUDCAD1 (200-300 заданных баров) сделать експорт того фрагмента из GBPJPY1 в текст, но только не индикатора, а самого фрагмента графика GBPJPY1. Если весь заданный RSI AUDCAD1 не попал в канал, то смещается выборка поиска на bars++1 или bars--1, то есть дальше перемещаясь по файлу GBPJPY1( в зависимости от того в каком направлении считывали), потом когда цикл проходит весь GBPJPY1, на GBPJPY1 применяется оптимизированный конвертер периодов и строится опять же RSI+BB. Должен получиться GBPJPY2 с построеным на нём RSI+BB затем берётся AUDCAD1 с уже построенным RSI и сравнивается AUDCAD1 RSI с GBPJPY2 ВВ если RSI AUDCAD1 попал в ВВ GBPJPY2 то делается експорт того фрагмента который попал в GBPJPY2 в текст но уже с номером таймфрейма и т.д. до конца цикла т.е. GBPJPY3 ВВ, GBPJPY4 ВВ, GBPJPY5 ВВ.....


Перед каждым переключением периода наверное лучше обнулять буфер с RSI+BB, оперативка и своп – весьма ограничены:) 
Потом когда отработает цикл поиска можно закрыть GBPJPY1, обнулить буфер с его RSI+BB, а затем открыть EURUSD1 и на нём опять начинать строить RSI+BB, сравнивать AUDCAD1 с уже построенным на нём RSI с EURUSD1 ВВ и потом переключаться по периодам, строя EURUSDn RSI+BB и сравнивая с AUDCAD1 RSI.


Как видно здесь есть два списка с файлами – 1-й. AUDCAD1, AUDCAD5, AUDCAD15…AUDCADm и 2-й. GBPJPY1, EURUSD1….. ######1. После того как отработался цикл с одним файлом из первого списка со всеми файлами из второго надо переключиться на второй файл из первого списка построить на нём RSI и произвести процедуру сравнения со всеми файлами из второго списка и т.д. В 1-м списке может быть больше файлов ~ 500, во втором тоже может быть много файлов и они должны как можно быстрее обрабатываться поэтому просьба задействовать предварительно переделанный period converter optimized ну и самые скоростные приёмы программирования, так как придётся обрабатывать большие объемы информации за маленький промежуток времени. Я уже модифицировал RSI + BB, в нём можно задавать и период RSI и ширину канала, просьба эти внешние переменные оставить как есть.

Насколько вам понятно задание - здесь надо совместить 4 скрипта, предварительно их переделав, это всем известные RSI, мой nik_rsi_bands, прикрепленный ниже, оптимизированный конвертер периодов и hst2csv. Что в них надо переделать - это в первую очередь поубирать вывод на экран индикаторов, то есть сократить лишние операции. 

Ну и дописать этакий микс из этих четырёх скриптов. Что здесь дописывать - это логику сравнения двух файлов, и какие файлы с какими сравнивать, но совсем не обязательно указывать их все, этим могу и я заняться. Достаточно будет хотя бы собрать тело программы, и чтобы оно корректно и быстро работало, производительности у mql как будто бы предостаточно, но, смотря ещё какой алгоритм скрипта. Тот же стандартный конвертер периодов и оптимизированный а скорость очень заметна. 

Con risposta

1
Sviluppatore 1
Valutazioni
Progetti
4
0%
Arbitraggio
0
In ritardo
0
Gratuito
Ordini simili
Technical task Make dashboard for several signals for choose for mt4 and mt5 with source code TimeFrames show (1m,5m,15m,30m,1h,4h,1d,7d,30d) For mt5 other TF (choose) Life time on current tf for live candle (back time to 0 before new) (true\false) Size Colour Symbols import from wathlist Signals for choose (only 1): 1)Current price into bb or ouside BB period, shift, std 2)Trend by MA MA period, shift, types 3)Price
Modify indicator Cycles 4 with rectangle Make indictor for mt4 and mt5 with comments in source code This indicator based on Cycles_4 Parametres MA1 - is default MA2 (yes or no) - yes - value add (if not 3 MA - 2nd in trend MA, also if only 1 MA without 2 and 3) Trend MA (true\false) - true - yes - value add Revers rect - true/false Fix rect by height - true\false, like how user add and this remember in the exit from

Informazioni sul progetto

Budget
100+ USD
Per lo sviluppatore
90 USD