Можно ли редактировать массивы Time[], Open[],Close[] и т.д. ?

 

Есть эксперт, 500+ строк кода. Из-за количества строк переписывать заново проблематично.

Возникла необходимость перед выполнением каких-либо рассчетов эксперта изменять данные о барах, таймсерии. Можно ли каким-либо способом корректировать данные в этих массивах?

 
Fduch >>:

Есть эксперт, 500+ строк кода. Из-за количества строк переписывать заново проблематично.

Возникла необходимость перед выполнением каких-либо рассчетов эксперта изменять данные о барах, таймсерии. Можно ли каким-либо способом корректировать данные в этих массивах?

На прямую редактировать нельзя...

//+------------------------------------------------------------------+
//|                                                  Redakt_Open.mq4 |
//+------------------------------------------------------------------+
int start()
{double Open0=Open[0];
 Open[0]= 1111.11;
 Comment(Open[0]);
 Open[0]= Open0;
return(0);
}
//                      компилятор. выдаёт   'Open' - unexpected token	
но можно попробовать редактировать .hst-файлы.(не знаю не проверял)
 
Urain писал(а) >>но можно попробовать редактировать .hst-файлы.(не знаю не проверял)

Идея хорошая, но, к сожалению, для котировок приходящих в реальном времени не подходит.

По сути, мне необходимо вместо этих зарезервированных массивов использовать свои под тем же названием..

 
Fduch >>:

Есть эксперт, 500+ строк кода. Из-за количества строк переписывать заново проблематично.

Возникла необходимость перед выполнением каких-либо рассчетов эксперта изменять данные о барах, таймсерии. Можно ли каким-либо способом корректировать данные в этих массивах?

А Ctrl+H Open[ на Open1[, например, "заменить все" низзя?)

 
Fduch >>:


Возникла необходимость перед выполнением каких-либо рассчетов эксперта изменять данные о барах, таймсерии. Можно ли каким-либо способом корректировать данные в этих массивах?

Создайте файл *.csv, загоните в него Ваши данные и импортируйте. Получите модифицированный *.hst

 
Swan писал(а) >>

А Ctrl+H Open[ на Open1[, например, "заменить все" низзя?)

Думал о этом, но вовремя вспомнил что есть еще и iMA(..), iBarShift(..) и тому подобные, которые будут рассчитываться по стандартным масивам. Все-таки придется как-то "обмануть" метатрейдер - заменить само содержание стандартных масивов.

 
Reshetov писал(а) >>

Создайте файл *.csv, загоните в него Ваши данные и импортируйте. Получите модифицированный *.hst

После прихода в терминал новой котировки необходимо модифицировать данные стандартных массивов, а эксперт должен работать на этих модифицированных данных.

Загонять в csv модифицированные данные не сложно, а вот как импортировать с помощью MQL эти данные на график для эксперта под видом прихода новой котировки?

 
Fduch >>:

Думал о этом, но вовремя вспомнил что есть еще и iMA(..), iBarShift(..) и тому подобные, которые будут рассчитываться по стандартным масивам. Все-таки придется как-то "обмануть" метатрейдер - заменить само содержание стандартных масивов.

В функциях индикаторов используется PRICE_OPEN иль циферка. Чтоб где-то работало со стандартным, где то с измененным массивом, все равно придется ручками делать. 500 строк это не много, удачи)

 
Swan писал(а) >>

.. Чтоб где-то работало со стандартным, где то с измененным массивом, все равно придется ручками делать. 500 строк это не много, удачи)

Да мне стандартные массивы вообще не нужны! Наоборот, хочу их редактировать, чтоб и МА, и iBarShift по редактированным данным считалось..

Да, 500 - немного, но кроме этих строк придется еще и свою версию МА и многих других стандартных функций писать..

 

Правильно умные люди советуют:)

Создайте свой *.hst файл и обновляйте его он-лайн.

Далее просто открываете его как автономный и ставите на него своего эксперта.

Пример реализации - converter_revers_shu

Там же рядом и мой вариант.

 
А так же интересно, можно ли будет эти модификации использовать в тестере.