[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 164

 
evgenio писал(а) >>

Não está funcionando.

Desculpe. Código do roteiro. Está funcionando. Verifiquei.

#property show_confirm

int start() {
   Print("Start");
   double as[5];
   for (int i=0; i<5; i++) {
      as[ i]=Low[ i];
      Print( i," ", as[ i]);
   }
   Print("Stop");
   return(0);
}
 

Por favor, diga-me como soletrar o operador que pausa em milissegundos. Eu esqueço sempre. Lembro-me uma vez de esquecê-la e depois de procurá-la por muito tempo. Mais uma vez, não me lembro onde o procurei. Provavelmente vou passar muito tempo procurando por ela novamente.

Por favor, me diga como soletrar - esqueci novamente.

 
FOReignEXchange писал(а) >>

Por favor, me diga como soletrar o operador que pausa em milissegundos. Eu esqueço sempre. Lembro-me uma vez de esquecê-la e depois de procurá-la por muito tempo. Mais uma vez, não me lembro onde o procurei. Provavelmente vou passar muito tempo procurando por ela novamente.

Por favor, diga-me como soletrar, eu esqueci de novo.

Dormir()

 
Vinin >> :

Dormir()

Oh, certo, muito obrigado.

 
Boa tarde. Você pode me dizer como verificar se existe uma posição aberta no bar atual e se existe, para proibir a abertura de novos. A partir da próxima barra, a restrição é removida. Dormir() não funciona.
 
Alex5757000 >> :
Olá. Você pode me dizer como verificar se há uma posição aberta no bar atual e, se houver, então proibir a abertura de novos. A partir da próxima barra esta restrição é retirada. Dormir() não funciona.

Ao abrir uma posição, lembre-se do tempo

t=TimeCurrent()


E na condição de abertura do negócio colocar uma condição


if (iBarShift(NULL,0, t)>0)

Isto deve funcionar, se não me engano.

 
Alex5757000 >> :
Boa tarde. Você pode me dizer como verificar se há uma posição aberta no bar atual e, se houver, então proibir a abertura de novos. A partir da próxima barra, a restrição é removida. Dormir() não funciona.
bool ЗапретитьТорговлю = false;
for(int k = 0; k < OrdersTotal(); k++ )
{
   OrderSelect( k, SELECT_BY_POS, MODE_TRADES); // Проверяем каждый ордер. 
                                             // Если он открыт после времени открытия текущего бара - запрещаем торговлю.
   if(OrderOpenTime()>Time[0])
   {
      ЗапретитьТорговлю = true;
      break;
   }
}
 
FOReignEXchange e mql-experts, obrigado!
 

Algo curioso:(

O indicador está em processo de cálculo de lucros e perdas. Quero colocar os resultados em comentários (saída na tela):


      int    TotalProfit_pips    = TotalProfit;
      int    TotalProfit_count   = ( Buy_Profits_Count+ Sell_Profits_Count)-( Buy_Losses_Count + Sell_Losses_Count);
      int    TotalTrades_count   = ( Buy_Profits_Count+ Sell_Profits_Count)+( Buy_Losses_Count + Sell_Losses_Count);
      int    Total_Profits_Count = Buy_Profits_Count+ Sell_Profits_Count;
      int    Total_Losses_Count  = Buy_Losses_Count + Sell_Losses_Count;
//      double WinningRatio        = Total_Profits_Count / TotalTrades_count;

Sem a última linha (comentado) tudo funciona como deveria.

Mas assim que você o deixa sem comentários, tudo que você vê são apenas os castiçais e nada mais. A reinicialização da MT não ajudou.

O que pode ser?

 
chief2000 >> :

Algo curioso:(

O indicador está em processo de cálculo de lucros e perdas. Quero colocar os resultados em comentários (saída na tela):


Sem a última linha (comentado) tudo funciona como deveria.

Mas assim que você o deixa sem comentários, tudo que você vê são apenas os castiçais e nada mais. A reinicialização da MT não ajudou.

O que pode ser?



Todas as variáveis do tipo int são números inteiros. Ao dividir um número inteiro por um número inteiro, a resposta também é um número inteiro. E se o primeiro número for menor que o segundo, a resposta será sempre 0. Este pode ser o problema.

Se você tiver uma possibilidade - mudar todos os tipos para o dobro.