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

Indicateurs Experts

Tâche terminée

Temps d'exécution 32 minutes

Spécifications

Совместить 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 как будто бы предостаточно, но, смотря ещё какой алгоритм скрипта. Тот же стандартный конвертер периодов и оптимизированный а скорость очень заметна. 

Répondu

1
Développeur 1
Évaluation
Projets
4
0%
Arbitrage
0
En retard
0
Gratuit
Commandes similaires
dify indicator MA_Cloud for mt4 and mt5, give source code with comments 1)Need to change alerts and arrows for cross price only true 2 MA without crossing (direction from small to big) 2)Fix the error when change to any timeframe for MA (disapeer) and for arrows (in history is very big on vertically out of see screenshot) 3)Add alerts for crossing of 2 MA (MA Small cross MA big) Arrows, Message, Sound - (True/False)
Изменить графический интерфейс утилиты, исправить расположение кнопок, изменить вид некоторых окон и добавить новые. Сохранить текущую адаптивность и работоспособность кнопок. Подробнее расскажу в ТЗ с наглядными скриншотами, что и где поменять. Правки нужно внести в МТ4 и МТ5 версии. Спасибо за ваши заявки, рассмотрю каждую
Мне нужен робот, который будет иметь следующие необходимые параметры: 1. робот должен работать на MT5 2. минимальный депозит $100 3. количество транзакций в день на депозит $100 с лотом 0,01 минимум 1000 4. макс прасат 15%
написать индикатор распознования флета. выявления флета из трёх частей проверки. в каждой части свой расчёт, по барам, по количеству поинтов, по ширине (высоте) баров, по минимальным значениям... когда все расчеты сошлись и не вышли из пропорций, тогда рисуется флет. Задание готово, отправлю подходящему кандидату. передача оплаты, когда индикатор будет работать без проблем, по всем параметрам расчетов. возможны не
Добрый день! Требуется выполнить следующую задачу: 1. для стандартного индикатора зигзаг 2. задаются стандартные настройки 3. задается тестовый период, валютная пара, таймфрейм 4. выгружается файл CVS или эксель с данными о зафиксированных пиках зигзага (НЕ ПРОМЕЖУТОЧНЫХ / ТЕКУЩИХ / ФОРМИРУЮЩИХСЯ, а именно о конечных пиках) 5. для каждого пика фиксируются
был старый работоспособный скрипт на очень старом МТ4... есть необходимость переписать его на MQL5, чтобы проверить теоретическую работоспособность в современном мире описание вроде бы где-то сохранилось кто-нибудь сможет помочь с этим вопросом и за какие деньги
стратегий в одном терминале может быть много нужен ММ для (баланс - сумма всех рисков) //Maximum amount of money to risk double moneyToRisk = NormalizeDouble( (AccountBalance() - Total_Current_Risk() )* RiskInPercent / 100, 7); Total_Current_Risk() { calculates all potential losses of all opened and all pending orders + all swaps + all commissions return (Total_Current_Amount_At_Risk) } double
I am looking to enhance the profitability of my current Expert Advisor (EA) using a Martingale approach with a CCI Indicator (the code is approximately 1200 lines currently) and would like to implement several key improvements. Below, I have detailed the areas where I believe the EA can be optimized and made more effective and i have provided the code in a .txt file: Note: I would like to run this EA most preferably

Informations sur le projet

Budget
100+ USD
Pour le développeur
90 USD