Подскажите, пожалуйста, как сделать - мне нужно получить на нижнем 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);
Подскажите, пожалуйста, как сделать - мне нужно получить на нижнем 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);
-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 минут, к примеру.
Тогда вам просто надо по прошествии заданного времени брать значение iHigh(Symbol(),PERIOD_D1,0); Это имеет смысл делать только для текущей еще не до конца сформированной дневной свечи. Но если брать значения прошлых дней то они в любой момент времени будут одинаковы.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Ещё раз.
Я тебе говорю не о действиях трейдера, а о тех логах (строках) которые ты выложил на всеобщее обозрение.
Допустим, наплевать, что нет строки открытия ордера и его первый модифай в логах терминала...
Но почему нет дальнейшей истории этого ордера в логах брокера? Где запись о том что ордер сработал? И был ли он модифицирован до его активации?
логи есть- не могу их прикрепить к сообщению почему то. а портянки выкладывать както неприлично.
----------------------------
другой вопрос к специалистам
есть ли техническая возможность в мт4 у брокера заново выслать ежедневные отчеты за прошедшие даты?
например не получали отчеты за 2 недели- можно ли их заново сформировать и выслать на емейл трейдеру?
логи есть- не могу их прикрепить к сообщению почему то. а портянки выкладывать както неприлично.
Не обязательно прикреплять логи к сообщению.
Я обратил твоё внимание только на одну строку лога брокера. На ту которая зафиксировала активацию отложника.
Подскажите, пожалуйста, как сделать - мне нужно получить на нижнем 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);
}
Подскажите, пожалуйста, как сделать - мне нужно получить на нижнем 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()
Получается, что мне надо получить datetime , значения переменной pos, но как это сделать?
Если в переменной 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 минут, к примеру.
Да, но я не могу понять, как я получу в итоге значение бара посреди дня?
if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]))-iOpen(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]));
получаю максимальные значения бара...
А мне нужно отловить изменение дневки каждые 15 минут, к примеру.
Не совсем понял что вы хотите сделать. Поправьте если я не прав. Вы хотите каждые N минут получать значения максимума дня?
Верно.