Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 373

 
Alexey Viktorov:

Ещё раз.

Я тебе говорю не о действиях трейдера, а о тех логах (строках) которые ты выложил на всеобщее обозрение.

Допустим, наплевать, что нет строки открытия ордера и его первый модифай в логах терминала...

Но почему нет дальнейшей истории этого ордера в логах брокера? Где запись о том что ордер сработал? И был ли он модифицирован до его активации?

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

 

----------------------------

 другой  вопрос к специалистам

 есть ли техническая возможность в мт4  у брокера  заново  выслать ежедневные отчеты  за прошедшие даты?

например не получали отчеты за 2 недели- можно ли их заново  сформировать и  выслать на емейл трейдеру? 

 
valeriy odintsov:

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

Не обязательно прикреплять логи к сообщению.

Я обратил твоё внимание только на одну строку лога брокера. На ту которая зафиксировала активацию отложника. 

 

Подскажите, пожалуйста, как сделать - мне нужно получить на нижнем TF значение верхнего TF в момент времени нижнего TF - в MQL4.

int start()
  {
   
     int    i,counted_bars=IndicatorCounted();
//---- check for possible errors
   if(ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
   if(ExtCountedBars>0) ExtCountedBars--;
   int pos;
   if(nBars==0) pos=Bars-ExtCountedBars-1;
   else  pos=nBars-ExtCountedBars-1;
   while(pos>=0)
     {
      double iDeltaPeiceMA_= 0;
      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,pos) - iOpen(Symbol(),TF,pos);

     pos--;

     }

   return(0);
  
  }

 
-Aleks-:

Подскажите, пожалуйста, как сделать - мне нужно получить на нижнем TF значение верхнего TF в момент времени нижнего TF - в MQL4.

int start()
  {
   
     int    i,counted_bars=IndicatorCounted();
//---- check for possible errors
   if(ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
   if(ExtCountedBars>0) ExtCountedBars--;
   int pos;
   if(nBars==0) pos=Bars-ExtCountedBars-1;
   else  pos=nBars-ExtCountedBars-1;
   while(pos>=0)
     {
      double iDeltaPeiceMA_= 0;
      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,pos) - iOpen(Symbol(),TF,pos);

     pos--;

     }

   return(0);
  
  }

Почитайте справку о функции iBarShift()
 
Vitalii Ananev:
Почитайте справку о функции iBarShift()
Получается, что мне надо получить datetime , значения переменной pos, но как это сделать?
 
-Aleks-:
Получается, что мне надо получить datetime , значения переменной pos, но как это сделать?
Если в переменной pos у вас содержится порядковый номер бара, то получить значение времени этого бара можно с помощью функции Time[pos] или функции iTime(Symbol(),Period() ,pos).
 
Vitalii Ananev:
Если в переменной pos у вас содержится порядковый номер бара, то получить значение времени этого бара можно с помощью функции Time[pos] или функции iTime(Symbol(),Period() ,pos).

Да, но я не могу понять, как я получу в итоге значение бара посреди дня?

      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]))-iOpen(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]));

получаю максимальные значения бара...

А мне нужно отловить изменение дневки каждые 15 минут, к примеру.

 
-Aleks-:

Да, но я не могу понять, как я получу в итоге значение бара посреди дня?

      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]))-iOpen(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]));

получаю максимальные значения бара...

А мне нужно отловить изменение дневки каждые 15 минут, к примеру.

Не совсем понял что вы хотите сделать. Поправьте если я не прав. Вы хотите каждые N минут получать значения максимума дня?
 
Vitalii Ananev:
Не совсем понял что вы хотите сделать. Поправьте если я не прав. Вы хотите каждые N минут получать значения максимума дня?
Верно.
 
-Aleks-:
Верно.
Тогда вам просто надо по прошествии заданного времени брать значение iHigh(Symbol(),PERIOD_D1,0);  Это имеет смысл делать только для текущей еще не до конца сформированной дневной свечи. Но если брать значения прошлых дней то они в любой момент времени будут одинаковы.
Причина обращения: