포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 1081

 
Pokrov :
안녕하세요! SetIndexBuffer를 통해 바인딩된 배열에서 마지막 막대의 데이터를 가져오는 방법을 알려주십시오. 고맙습니다.
배열[1]
 
Foxonn :
안녕하세요, M5 시간대의 중개인 시간으로 오전 8시부터 오후 15시까지라고 가정 해 봅시다. 최저점과 최고점을 찾는 방법을 알려주실 수 있습니까?
iBarShift() , iLowest(), iHighest().
 
evillive :
배열[1]
그리고 루프에서 Massiv[i+1]가 되는 방법 은 범위를 벗어난 배열을 생성합니다.

 
Pokrov :
그리고 루프에서 Massiv[i+1]가 되는 방법은 범위를 벗어난 배열을 생성합니다.

여기에서 순환, 말하기 어렵습니다.
 
evillive :
여기에서 순환, 말하기 어렵습니다.
 int i,limit;
   limit=rates_total-prev_calculated;
if (prev_calculated< 1 ) limit=rates_total- 1 ;
for (i=limit; i> 0 ; i--)
   
{
internal_channelUp[i]= iHigh( NULL , 0 ,iHighest( NULL , 0 ,MODE_HIGH,internal_channel,i));
internal_channelDn[i]= iLow( NULL , 0 ,iLowest( NULL , 0 ,MODE_LOW,internal_channel,i));
}
마지막 막대의 데이터 필요
 
Pokrov :
마지막 막대의 데이터 필요
 int i,limit;
   limit=rates_total-prev_calculated -1 ;
if (prev_calculated< 1 ) limit=rates_total- 1 ;
for (i=limit; i> 0 ; i--)
   
{
internal_channelUp[i]= iHigh( NULL , 0 ,iHighest( NULL , 0 ,MODE_HIGH,internal_channel,i+1));
internal_channelDn[i]= iLow( NULL , 0 ,iLowest( NULL , 0 ,MODE_LOW,internal_channel,i+1));
}
 
evillive :
나는 조건에서 장치를 보지 못했습니다. 죄송합니다. 이제 모든 것을 확인할 것입니다.
 
evillive :
iBarShift(), iLowest(), iHighest().
이 모든 것을 하나로 묶고 최고점과 최저점의 시간 범위를 설정하는 방법에 대해 자세히 설명해 주시겠습니까? (가능한 경우 라이브 코드 예제)
추신: mql을 배우기 시작했습니다. 조금만 기다려 주세요 =)
 
evillive :
모든 것이 작동합니다. 대단히 감사합니다!
 
Foxonn :
이 모든 것을 하나로 묶고 최고점과 최저점의 시간 범위를 설정하는 방법에 대해 자세히 설명해 주시겠습니까? (가능한 경우 라이브 코드 예제)
추신: mql을 배우기 시작했습니다. 조금만 기다려 주세요 =)

이러한 키워드의 경우 도움말에서 많은 흥미로운 내용을 읽을 수 있습니다. 코드 예제에서 원하는 단어에서 F1을 누르기만 하면 됩니다.

표시기에 임베딩하기 위한 코드는 대략 다음과 같습니다.

 input datetime timestart= D'2016.08.10 08:00' ; //время поиска, от
input datetime timeend= D'2016.08.10 15:00' ;   //и до

int shiftstart= 0 ,shiftend= 0 ,diff= 0 ; 
double hi= 0 ,lo= 0 ;

int OnCalculate ()
{
/////
shiftstart=iBarShift( _Symbol , PERIOD_M5 ,timestart);                                 //выясняем индекс бара с временем старта поиска
shiftend=iBarShift( _Symbol , PERIOD_M5 ,timeend);                                     //выясняем индекс бара с временем финиша поиска 
diff=shiftstart-shiftend;                                                      //вычисляем кол-во баров для поиска экстремумов
lo=iLow( _Symbol , PERIOD_M5 ,iLowest( _Symbol , PERIOD_M5 ,MODE_LOW,diff,shiftend));  //выясняем минимум 
hi=iHigh( _Symbol , PERIOD_M5 ,iHighest( _Symbol , PERIOD_M5 ,MODE_HIGH,diff,shiftend)); //и максимум
//////
}