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

 
ikatsko: O que eu não entendo do fragmento: o iTime dará o valor do tempo de abertura da barra deslocado em relação ao tempo atual pelo número de_ barras_para_passe. Isso significa que o tempo assim obtido será sempre menor do que o tempo atual. Com cada nova barra, ela também será deslocada para cima. E tudo isso está ligado ao ???? E daí? Como funcionará para saltar um bar?

Substitua OrderOpenTime pelo tempo de seu comando

f(iTime(Symbol(),period_bar,number_of_bars_to_skip)<your_command_time) return

 
paukas:

Substitua OrderOpenTime pelo tempo de seu comando

f(iTime(Symbol(),period_bar,number_of_bars_to_pen)<your_command_time) return

Acho que consegui. O tempo_seu_comando define o início da próxima barra e oretorno pára depois das_barras_até_a_a_saltar ! Limpo. Obrigado!
 
Bicus:

O que poderia ser mais complicado do que isso?

O 0º elemento da matriz terá o preço do último tick, o 1º elemento terá o preço 1 tick atrás, o 2º elemento terá o preço 2 ticks atrás, etc.

Ou eu entendi mal alguma coisa e quis dizer algo mais?

Sou novo nisso, estou aprendendo com um livro didático por conta própria - você pode soletrar para mim?
#property copyright "Bicus"
#property link      "Bicus"


double aPrices [5]; //мы объявили массив с пятью значениями внутри

void PutStack (double p_Price) //вот мне не понятно. Эта функция выступает как шаблон? Она показывает программе, как работать? Объясните что это плз.
{
  int nCounter; //создали переменную целого числа
  
  for (nCounter = 4; nCounter > 0; nCounter--) //это цикл, который начинается с 4х и идет к нулю (я так понял - он будет сохранять 4 тика)
    aPrices [nCounter] = aPrices [nCounter - 1]; //присваиваем массиву (например) с номером 3 значиние массива с номером  2 (а разве надо не наоборот?). 
    
  aPrices [0] = p_Price; //если p_Price - это тик, то в этой строчке мне все понятно - мы присваиваем первому значению массива настоящий тик.
}

int start()
{
  int nCounter; //опять создали переменную целого числа
  
  PutStack (Bid); //тут не понятно... Putstack=Bid?
  
  for (nCounter = 0; nCounter < 5; nCounter++) //тут создаем цикл, который идет от нуля, чтоб заполнять массив, но почему внутри его нет массива? он не нужен?
    Print (nCounter, "-й тик: ", DoubleToStr (aPrices [nCounter], Digits)); //тут выводим значение
}
 

Boa tarde, caros especialistas.

Procurei toda a Ajuda e não encontrei nenhuma resposta nos fóruns. A pergunta é simples: a MQL4 tem uma funcionalidade simples para informar o tempo que uma ordem pendente aciona ou não?

A partir das informações disponíveis, não existe tal função. A função OrderOpenTime() indica o tempo em que uma ordem pendente foi colocada para execução, mas me parece que não seríamos capazes de descobrir o tempo em que ela se tornou uma ordem de mercado sem usar um EA para rastrear o status da ordem na conta.

Por favor, informe se alguém conhece uma solução simples. O Expert Advisor é bastante improdutivo, não faz sentido usá-lo permanentemente se seus serviços forem necessários apenas uma ou duas vezes por dia. Precisamos de algo mais simples, seria uma função integrada, que informaria sobre o momento de seu acionamento... O comerciante precisa dele para uma contabilidade adequada das ordens por seu tempo de abertura, de modo que, por exemplo, é sempre possível dizer qual das ordens atualmente abertas ou que já foram fechadas tem o último tempo de abertura. No caso da ordem pendente, não podemos fazer isso. A ordem pendente pode ser colocada há 2 horas e fechada há uma hora, nesse intervalo de uma hora outras ordens podem abrir e fechar e no terminal o tempo de abertura da ordem pendente que se tornou uma ordem de mercado é de 2 horas e precisamos saber o tempo real de seu acionamento.

Terei o maior prazer em receber seus comentários.

 
Starting:

Boa tarde, caros especialistas.

Procurei toda a Ajuda e não encontrei nenhuma resposta nos fóruns. A pergunta é simples: a MQL4 tem uma funcionalidade simples para informar o tempo de acionamento ou não de uma ordem pendente?

A partir das informações disponíveis, não existe tal função. A função OrderOpenTime() indica o tempo em que uma ordem pendente foi colocada para execução, mas me parece que não seríamos capazes de descobrir o tempo em que ela se tornou uma ordem de mercado sem usar um EA para rastrear o status da ordem na conta.

Por favor, informe se alguém tem uma solução simples. O Expert Advisor é bastante improdutivo, não faz sentido usá-lo permanentemente se seus serviços forem necessários apenas uma ou duas vezes por dia. Precisamos de algo mais simples, seria uma função integrada, que informaria sobre o momento de seu acionamento... O comerciante precisa dele para uma contabilidade adequada das ordens por seu tempo de abertura, de modo que, por exemplo, é sempre possível dizer qual das ordens atualmente abertas ou que já foram fechadas tem o último tempo de abertura. No caso da ordem pendente, não podemos fazer isso. A ordem pendente pode ser colocada há 2 horas e fechada há uma hora, nesse intervalo de uma hora outras ordens podem abrir e fechar e no terminal o tempo de abertura da ordem pendente que se tornou uma ordem de mercado é de 2 horas, mas eu quero saber o tempo real de seu acionamento.

Terei o maior prazer em receber seus comentários.

Eu não entendo porque você não está satisfeito com a EA, você não vai fazer um sistema comercial complexo baseado em rede neural com auto-optimização, você só precisa verificar cada tique para ver se o pêndulo está funcionando e quando isso acontece você recebe uma mensagem de texto na tela ou áudio ou ambos, a calculadora pode fazer isso, nada com que se preocupar ou você tem problemas para escrever no computador?
 
CLAIN:
Sou novo nisso, aprendendo com um livro didático por conta própria - você pode soletrar para mim?

O livro didático não responde às suas perguntas?
 

Transportado:

Pyxlik2009 14.10.2011 03:52

Os rapazes me dizem o que significa o erro (número inteiro inválido como parâmetro 10 para a função OrderSend) e como corrigi-lo ?

 

Bom dia a todos, especialista em código de programa!

Se você pudesse me explicar a situação, na minha EA o objetivo de fazer um pedido é a uma determinada hora e um pedido por dia:

int H=Hour(),
    M=Minute();
if(H>=21 && M>=40)
{
   {
    Alert("Ордер открыт-",Ticket);
    return(0);
    }
   else 
   {
   Alert("Ошибка№=",GetLastError());
   return(0);
   }
}

Mas notei queif(H>=09 && M>=40) eif(H>=21 && M>=40) têm as mesmas condições e acontece que o pedido será feito pelo menos duas vezes ao dia.

O que devo fazer para evitar este problema?

Obrigado pelo apoio!

 

Starting:

.... É improdutivo fazer um especialista como especialista, e faz sentido ter um especialista em uma base regular, se seus serviços forem necessários uma ou duas vezes ao dia.


Existe uma coisa como um roteiro. Quando você precisa, você o executa.
 
Valdemar:

...notei quese(H>=09 && M>=40) ese(H>=21 && M>=40) as condições são as mesmas e acontece que o pedido será feito pelo menos duas vezes ao dia.
O que mais eu deveria ter feito para evitar este problema?

Por favor, verifique as FAQ com freqüência, há um grande número de exemplos, que podem ser úteis. E você pode construir suas próprias funções com base nelas.
isTradeTimeString - Devolve a bandeira permitindo o comércio por tempo.
isTradeTimeInt - Bandeira de retorno para permitir a negociação por tempo.