Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2617

 
Roman Shiredchenko #:
Во вложении индикатор

Посмотрел индикатор.

Лучше всё переписать :)

Число месяца в одном году может быть торговым днём, а в другом нет, так же и по количеству дней в году, в том числе и високосные года бывают.

Я бы делал так:

1. Проверка на синхронизация баров нужного ТФ текущего года и месяца с ближайшим для сопоставления годом и месяцем.

2. Остаток баров проверяем на синхронизацию с более дальним годом (второй год для дельты)

3. Вычисляем дельту по оставшимся барам.

4. Заполняем графический буфер.

5. Повторяем цикл столько раз, сколько есть лет.

 

добрый день всем!

брокер в терминал МТ4 транслирует котировки акций,

Их там около 200 и все в разных вкладках.

Вопрос: Можно ли где то в системной папке найти перечень сразу всех торговых инструментов и /или выгрузить в читаемый файл типа txt , word и т.п.?

 
Aleksey Vyazmikin #:

Я бы делал так:

1. Проверка на синхронизация баров нужного ТФ текущего года и месяца с ближайшим для сопоставления годом и месяцем.

2. Остаток баров проверяем на синхронизацию с более дальним годом (второй год для дельты)

3. Вычисляем дельту по оставшимся барам.

4. Заполняем графический буфер.

5. Повторяем цикл столько раз, сколько есть лет.

спс буду думать....

 

Можно ли как то на макросах сделать цикл перебора одинаковых функций?


//Дано функции вида. func+i ()
func1(); func2(); .... func100();

//Можно ли как то легко сделать перебор 
//Что то вроде такого
for(int i =0 ; i<100;i++){

func[i] () ;

}
 
Sergey Likho #:

Можно ли как то на макросах сделать цикл перебора одинаковых функций?


макросы не при чём, с массивами можно :-) и перебирать массив

 
Roman Shiredchenko #:

спс буду думать....

Сделал вариант, вроде как требуется.

Возможно, код индикатора не оптимальный - на каждом баре перерисовка будет показателей, но зато наглядно и понятно, и как я понял он для анализа истории.

Тут строка - оставил для наглядности:

Print("В истории рассинхронизация! Time_Calc=",TimeToString(Time_Calc,TIME_DATE|TIME_MINUTES)," Symbol1_index=",Symbol1_index," Symbol2_index=",Symbol2_index);

Сделал решение проблемы, через добавление функционала - если истории нет, то ставим прошлое значение спреда.

input bool Spred_in_Arhiv=true;//Если бара нет, то заполним прошлым значением дельты
double arr_Spred_arhiv[15];

Индикатору нужна история - иногда не отображается - по хорошему нужен код на загрузку истории с ожиданием - не делал.

Файлы:
 

коллеги не поможете - сам смотрю и правлю. Данные показывает ок если ввести месяц менее текущего.

Надо чтобы исторические данные спредов выбранного месяца прокидывал на текущий год в выбранный месяц.

если месяц менее текущего то ок рисует, за текущий год спред чтобы всегда рисовал до текущей даты  - это так и надо.


если месяц ввести к примеру 6 (июнь), то уже не рисует исторические периоды - не прокидывает данные спреда за прошлые года на выбранный месяц в текущий год.

надо чтобы отображал

и за текущий месяц если выбрать 5 (май) надо чтобы историю полностью по дням показывал он показывает по текущую дату


Файлы:
 
Roman Shiredchenko #:
за текущий год спред чтобы всегда рисовал до текущей даты  - это так и надо.

Добавил такой функционал

input bool Draw_to_end=true;//Строить график индикатора до конца последней даты
Roman Shiredchenko #:

если месяц ввести к примеру 6 (июнь), то уже не рисует исторические периоды - не прокидывает данные спреда за прошлые года на выбранный месяц в текущий год.

надо чтобы отображал

и за текущий месяц если выбрать 5 (май) надо чтобы историю полностью по дням показывал он показывает по текущую дату

Тут уже надо решать вопрос синхронизации - по какому году синхронизировать все года, получается не по текущему же...

Файлы:
 
Aleksey Vyazmikin #:

Добавил такой функционал

Тут уже надо решать вопрос синхронизации - по какому году синхронизировать все года, получается не по текущему же...

О! Спасибо вам большое! буду смотреть сейчас.

Там просто можно оставлять значения спреда если выходные были или праздники за прошлый день и все.

 
Aleksey Vyazmikin #:

Добавил такой функционал

Тут уже надо решать вопрос синхронизации - по какому году синхронизировать все года, получается не по текущему же...

вот тут если вводишь месяц старше текущего он ничего не отображает а должен отображать данные исторических спредов в любом месяце текущего года. а данные спреда текущего года отображать с начала года



вот ему данные вводишь за прошлые месяцы ок рисует текущего года


если ввести с текущего месяца года то уже не рисует, а надо чтобы историю прокидывал на выбранный месяц за нужное кол-во лет спреда двух символов


вот к примеру июнь вводишь он не отображает

Файлы: