[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 26

 
Goalkeeper писал(а) >>

чё-т пробую, а не совсем получается... что я не так делаю, а?

Для начала в одном месте месяц, в другом день...

 
Figar0 >>:

Для начала в одном месте месяц, в другом день...

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

 
Goalkeeper писал(а) >>

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

datetime d0 = StrToTime(Year()+".01.01");
int newyear = iBarShift(NULL,PERIOD_MN1, d0);
volotil_05 = MathAbs((High[iHighest(NULL,PERIOD_D1,MODE_HIGH,365,newyear)] - Low[iLowest(NULL,PERIOD_D1,MODE_LOW,365,newyear)]) /Point); // с начала года

Куда ж круче тыкать?) Ищите смещение на месячном ТФ, а используете его на дневном ТФ... Мне Вы показались вполне подготовленым, а потому уж не совсем тыкнул, извините)

 
Figar0 >>:

Куда ж круче тыкать?) Ищите смещение на месячном ТФ, а используете его на дневном ТФ... Мне Вы показались вполне подготовленым, а потому уж не совсем тыкнул, извините)

спасибо, что возитесь со мной...

но всё равно не получается... при переключении с таймфрейма на любой другой изменяется и значение volotil_05.

видимо, как-то по-другому надо... буду думать, как именно...

p.s. со мной можно на "ты", но не такой уж я "вполне подготовленный"... :(

 
Goalkeeper писал(а) >>

спасибо, что возитесь со мной...

но всё равно не получается... при переключении с таймфрейма на любой другой изменяется и значение volotil_05.

видимо, как-то по-другому надо... буду думать, как именно...

p.s. со мной можно на "ты", но не такой уж я "вполне подготовленный"... :(

Вот так работает:

datetime d0 = StrToTime(Year()+".01.01");
int newyear = iBarShift(NULL,PERIOD_D1, TimeCurrent());
double volotil_05 = (iHigh(NULL, PERIOD_D1,iHighest(NULL,PERIOD_D1,MODE_HIGH,365,newyear)) - iLow(NULL,PERIOD_D1,iLowest(NULL,PERIOD_D1,MODE_LOW,365,newyear))) /Point;
Print ("Period = ", Period(), "M, Volotil = ", volotil_05);
Comment ("Period = ", Period(), "M, Volotil = ", volotil_05);
Ты не много не разобрался в конструкции типа High[iHighest...., High[...] это как раз обращение к текущему ТФ, а потому надо использовать iHigh(...) c явным указанием ТФ. Кстати MathAbs там тоже по идеи лишний
 
Figar0 >>:

Ты не много не разобрался в конструкции типа High[iHighest...., High[...] это как раз обращение к текущему ТФ, а потому надо использовать iHigh(...) c явным указанием ТФ. Кстати MathAbs там тоже по идеи лишний

Наверное, к вечеру пятницы мозг уже закипает... Спасибо ещё раз... Буду разбираться дальше, но теперь уже только в понедельник...

Счастливых выходных...

 
Господа... у меня вот такое вопросег....     Какую строчку нужно поменять  MACD, чтобы он показывал  на м1..  таймфрейм Н1 и при этом не ждобавлял новых баров от каждого бара возникающего на м1...   https://forum.mql4.com/ru/19319
 
Стандартный распознаватель нового бара такой:
   static datetime New_Time=0;                  // Время текущего бара   
   New_Bar=false;                               // Нового бара нет   
   if(New_Time!=Time[0])                        // Сравниваем время     
   {       
   New_Time=Time[0];                            // Теперь время такое      
   New_Bar=true;                                // Поймался новый бар     
   }
Есть ли другие?
 
Novice >>:
Стандартный распознаватель нового бара такой: Есть ли другие?

Была недавно тема большого объема, но не нашел. Тут тоже неплохо.

 
granit77 >>:

Была недавно тема большого объема, но не нашел. Тут тоже неплохо.

Спасибо!