Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 518

 

Olá estou obtendo os dados sobre o fechamento dos castiçais de hora, eu os desenho, tudo é normal, quero obter os dados para o N-ésimo período atrás, escreve matriz fora do alcance

Tentei usar o buffer indicador da matriz, por favor informe como obter os dados para o período anterior

{
 


if(prev_calculated<1) limit=rates_total-1;
if(prev_calculated>0)limit=rates_total-prev_calculated;
for(i=limit; i>=0; i--)
{  
int yesterday_weekday = TimeHour(iTime(Symbol(),0,i+1))-TimeHour(iTime(Symbol(),0,i));
if(yesterday_weekday!=0)  
  {
P=C; 
T = iTime(NULL,0,i+1); 
shift=iBarShift(NULL,PeriodGR,T); 
C= iClose(NULL,PeriodGR,shift);   
CB[n]=C;n++; 

 }
 CC[i]=C; 
 Comment(StringFormat("CC[i]=%G\r\nCB[n-2]=%G\r\n",CC[i],CB[n-2])); 
  }
   return(rates_total);
  }
 
PokrovMT5:

Boa tarde! Eu recebo dados sobre o fechamento de castiçais de hora em hora, eu os desenho, está tudo bem, quero obter os dados para o N-ésimo período atrás, escrevo uma matriz vazia, tentei usar o buffer indicador da matriz, aconselho como obter dados para o período anterior

Talvez isso ajude

https://www.mql5.com/ru/code/7297

https://www.mql5.com/ru/code/20343

TZ-Breaktout
TZ-Breaktout
  • votos: 2
  • 2007.09.14
  • Scriptor
  • www.mql5.com
Индикатор TZ-Breaktout.
 
PokrovMT5:

Olá, estou obtendo os dados sobre o fechamento dos castiçais de hora, eu os desenho, tudo é normal, quero obter os dados para o N-ésimo período de volta, escreve matriz fora do alcance

Tentei usar o buffer indicador da matriz, por favor informe como obter os dados para o período anterior

limit=rates_total-1;

Seu limite aponta para a primeira barra da história. Mas você quer i+1 - é por isso que eu estou fora de alcance.

Tente

limit=rates_total-2;

... embora seja improvável que ajude - provavelmente há muito mais valores de cálculo que não se verifica...

 
Olá. Eu tenho uma pergunta, o limite da variável indicadora em mql4 mostra 3555 barras de ouro por dia, enquanto mql5 mostra metade dele? Onde devo colocar a citação? Outra pergunta, por favor, paralimit=rates_total-2; isso foi discutido acima, na minha variante não há transbordo de array somente quandolimit=rates_total-5; o programa funciona. Também notei que em mql5 a compilação do código está diminuindo significativamente, o processo leva cerca de 13 segundos, isto é normal? Obrigado.

 
mwwm:
Olá. Minha pergunta, pode ser o limite da variável indicadora em mql4 mostra 3555 barras diariamente para ouro e mql5 mostra duas vezes menos? Onde fazer citações? Outra pergunta, por favor, paralimit=rates_total-2; isso foi discutido acima, na minha variante não há transbordo de array somente quandolimit=rates_total-5; o programa funciona. Também tenho notado que em mql5 a compilação do código está diminuindo significativamente, o processo leva 13 segundos, é normal? Obrigado.

No MT5, as citações são baixadas do servidor: o que há lá...

Sobre o limite você não precisa adivinhar e ajustar, e você tem que calcular com precisão - de quais variáveis o offset depende, e subtrair uma unidade do total de taxas e os valores destas variáveis (se não forem calculadas). Se as variáveis forem calculadas, você deve controlar o valor do índice do laço e, se for maior do que as taxas_total-1, pular esta iteração (continuar)

 

Olá, alguém pode me dizer se alguém sabe, eu carrego os dados para testar com 99% como deve ser, tudo funciona bem por 30 minutos de gráfico, mas assim que eu carrego os dados H4 e tento executar um EA no testador, - não funciona, o testador dá o ano de 2018.04.05 16:41:08.576 TestGenerator: arquivo "C:\Users\AppData\Roaming\MetaQuotes\Terminal\7E781795884A398A87F33ED1B942D689tester\history\USDJPY240_0.fxt" não pode abrir [5]

E 2018.04.05 16:41:08.535 TestGenerator: arquivo "C:\Users\AppData\Roaming\MetaQuotes\Terminal\7E781795884A398A87F33ED1B942D689 testador\history\USDJPY240_0.fxt" é somente leitura

qual poderia ser a razão??????
 
pryn:

Olá, alguém pode me dizer se alguém sabe, eu carrego os dados para testar com 99% como deve ser, tudo funciona bem por 30 minutos de gráfico, mas assim que eu carrego os dados H4 e tento executar um EA no testador, - não funciona, o testador dá o ano de 2018.04.05 16:41:08.576 TestGenerator: arquivo "C:\Users\AppData\Roaming\MetaQuotes\Terminal\7E781795884A398A87F33ED1B942D689tester\history\USDJPY240_0.fxt" não pode abrir [5]

E 2018.04.05 16:41:08.535 TestGenerator: arquivo "C:\Users\AppData\Roaming\MetaQuotes\Terminal\7E781795884A398A87F33ED1B942D689 testador\history\USDJPY240_0.fxt" é somente leitura

qual poderia ser a razão??????
Não há necessidade de multiplicar suas perguntas, por favor.
 
Artyom Trishkin ...Seo tempo atual for maior, então salve-o em uma variável para verificação...

Obrigado, encontrei o que eu estava procurando.

Outra pergunta - eu fecho uma posição parcialmente, como levar em conta este lucro ou perda fechado ao calcular o lucro atual.

 
PolarSeaman:

Obrigado, encontrei o que estava procurando.

Outra pergunta - eu fecho uma posição parcialmente, como levar em conta este lucro ou perda fechada ao calcular o lucro atual.

Exatamente da mesma forma que para o cálculo do fechamento completo. A posição é dividida: a parte fechada vai para a história e a parte restante recebe um novo bilhete e permanece no mercado.

 
Artyom Trishkin:

uma parte fechada vai para a história.

Como posso saber que na história desta posição em particular fechou parte?

Abri uma posição com lote 1,0 e fechei 0,5 com prejuízo de 10$. Mais tarde fechei mais 0,25 com lucro de 5$. Fecharei tudo com lucro de 50$. Na verdade, agora eu tenho um lucro de 50 dólares.

if (OrderProfit()+OrderSwap()>=50) ClosePosBySelect();

Como eu fecho -$10 e +$5 no cálculo do lucro atual? Para fechar com lucro de $55