Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 1081

 
Pokrov:
Boa tarde, você poderia me dizer como obter os dados na última barra da matriz vinculada via SetIndexBuffer? Obrigado.
massiv[1]
 
Foxonn:
Olá, você pode aconselhar como encontrar o ponto baixo e o ponto alto, digamos, das 08:00 às 15:00 horas, hora do corretor no horário M5?
iBarShift(), iLowest(), iHighest().
 
evillive:
massiv[1]
Que tal no loop, massiv[i+1] dáum array fora de alcance

 
Pokrov:
Que tal no loop, massiv[i+1] dá um array fora de alcance

loop deste modo, é difícil dizer.
 
evillive:
ciclo aqui, é tão difícil de dizer.
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));
}
Necessidade de dados da última barra
 
Pokrov:
Necessidade de dados da última barra
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:
NÃO vi nenhum nas condições, desculpe, vou verificar tudo agora.
 
evillive:
iBarShift(), iLowest(), iHighest().
Você pode explicar com mais detalhes como unir tudo isso e definir o intervalo de tempo entre os pontos altos e baixos? (se você pode viver o código de exemplo)
P.s: Vou começar a estudar mql, por favor seja paciente =)
 
evillive:
Tudo funciona, muito obrigado!
 
Foxonn:
Posso ter mais detalhes sobre como amarrar tudo isso e definir o intervalo de tempo para encontrar os pontos altos e baixos? (se você pode viver o código de exemplo)
P.s: Vou começar a aprender mql, por favor seja paciente =)

Você pode ler muitas informações interessantes através destas palavras-chave na ajuda, basta pressionar F1 no código do exemplo na palavra desejada.

Aproximadamente, o código para embutir no indicador terá este aspecto:

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)); //и максимум
//////
}