[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 99

 
ScioMe:

Salvo, sob estes nomes, a nova tabela se abre da mesma forma, da maneira antiga. Há um arquivo strategytester.htm na pasta templates que não sei o que fazer com este arquivo.

Isso significa que algo foi feito errado, talvez a MT não tenha sido reiniciada. Testado, deve funcionar.
 
zas:
Olá, você pode me ajudar com esta pergunta? Eu não a encontrei no fórum. O problema é que depois de abrir um arquivo no Excel, os dados são representados como uma data, e se eu mudar o formato da data, eu recebo os dados errados. Eu tentei tipos diferentes de datas, mas a mesma coisa. Eu tentei especificar o tipo de dados (o Excel pergunta) ao carregar, mas os números parecem ser representados como um número pontilhado (por exemplo 1,5624), e o Excel não quer fazer nada com eles.

A questão não é sobre o assunto do fórum, porque você precisa ir a um curso de alfabetização informática e aprender a usar Word e Excel, ou encontrar um livro sobre esses programas e estudar.

E em sua pergunta específica, selecione as células necessárias, leve o cursor até elas, clique no botão direito do mouse, depois "Formatar células ..." e selecione o formato de apresentação de dados desejado.

 

Rapazes, digam-me uma dica...

É preciso comparar o primeiro pico do histograma com o segundo, se o segundo for menor em valor abs, então abrir compra desde que ambos estejam abaixo de zero e depois disso atribuir o valor do segundo ao primeiro pico, Se após a formação do primeiro pico a coluna do histograma passou de área negativa para positiva, então cancelar a presença do primeiro pico, como eu fiz - ou seja, por condição, reiniciamos ambas as bandeiras.

Acontece que quando eu identifico parâmetros do primeiro pico, a mesma condição (os mesmos parâmetros) se mantém para o segundo. E isto é um erro... Gostaria de, de alguma forma, "separar" estes fatos (com seus parâmetros únicos) da formação das figuras 1 e 2, dou meu código e figura para a baía...

double a1,a2,a11,a22;//  значения первого и второго пика 
bool fl1 = false;    //  флаги наличия 1-го и 2-го пика для их сравнения для входа в рынок по 3-ему варианту АО
bool fl2 = false;    //
bool signal_buy = false;
bool signal_sell = false;

double AO1 =  iAO(Symbol(), signal_period, 1);
double AO2 =  iAO(Symbol(), signal_period, 2);
double AO3 =  iAO(Symbol(), signal_period, 3);
  
 
 
if (AO3 < 0 && AO3 > AO2 && AO2<0 && AO2 < AO1 && AO1 < 0 && fl1==false && fl2==false) {a1 = AO22; fl1=true; Print ("образование первого пика",DoubleToStr(a1,6) );}
//    определение наличия 1-го пика, флаг установлен
 Print ("первый пик = ", DoubleToStr(a1, 6) );
 
// в след строке ошибка - получается, что после идентификации 1-го пика - эти же условия выполняются и для 2-го, а этого быть не должно... 
 if (AO3<0 && AO3>AO2 && AO2<0 && AO2<AO1 && AO1<0 && fl1==true && fl2==false)                        // определение наличия 2-го пика, флаги установлены
      { 
        a11 = AO2; fl1=true; fl2=true; Print ("образование второго пика", DoubleToStr (a11,6));
        if (a1<a11 && High [0] > High [1]) 
           { signal_buy = true; a1=a11; fl1=true;fl2=false;}    // активируем бай и запоминаем параметры как первого пика   
        else { a1=a11; fl1=true;fl2=false;}                     // просто запоминаем новый минимум - первый пик   
      }                                                       
  
 if (AO2>0 || High [0] < High [1]) {fl1=false; fl2=false;}     // если какой - либо столбец гистограммы  пересекает 0-ю линию между сигналами 2-а пика
                                                               // то сигнал считается недействительным. Cбрасываем флаги
 if (Mas_Tip[0]!=0 && signal_buy == true )  return(10);        // при доливке и сигнале к покупке открываемся с рынка 
 signal_buy = false;                                           // сбрасываем сигнал к покупке
 
 

 

Qualquer cara que possa ajudar a criar um robô para comercialização, basta ter uma idéia e precisar de ajuda em sua implementação, eu mesmo na programação não sou forte, você pode até conseguir dinheiro, mas razoável!

 
ZahvatkiN:

Qualquer cara que possa ajudar a criar um robô para comercialização, basta ter uma idéia e precisar de ajuda em sua implementação, eu mesmo na programação não sou forte, você pode até conseguir dinheiro, mas razoável!

Posso fazer isso por uma quantia razoável de dinheiro.
 

Eu não consigo entender.

Escrito em russo, mas não consigo entender a seção do Manual https://docs.mql4.com/ru/basis/variables/formal

Citação:

Os parâmetros por referência podem ser passados dentro de um único módulo....... (De que módulo estamos falando?)

As matrizes também podem ser passadas por referência, todas as mudanças serão refletidas na matriz original . (Muda os elementos da matriz?)

 
Olá a todos, estive pesquisando no fórum o dia todo e não encontrei, por favor, informe onde você pode baixar o histórico de cotações euro usd 1 min em formato hst, csv ou como melhor carregá-lo por um período máximo de tempo, o terminal dá apenas um ano. Por favor, envie-me links ou arquivos. AGRADEÇO ANTECIPADAMENTE.
 
Pergunta????

Eu abri uma ordem pendente -

Ticket = OrderSend(...,OP_SELLSTOP,...,TP,SL);

Se(Bilhete>0)

{ tudo está bem, aguarde que a ordem pendente seja executada, se for executada então tudo está bem}

senão

{espere a próxima barra para FECHAR e se a ordem não abrir, feche-a forçadamente com OrderDelite();}

ajuda com o código

"esperar por ordem pendente de execução"

"esperar que a próxima barra feche e se a ordem não tiver aberto, feche-a à força com OrderDelite();"

 
for(k=0; k<KPeriod; k++)              // перебрать KPeriod баров
  if(Low[k]<minimum) minimum=Low[k];  // найти минимум

como substituir corretamente esta função pelo iLowest?

mínimo=baixo[iLowest (NULL, 0, MODE_LOW, KPeriod, 0)] - certo?

 
robot:
Pergunta????

{espere que a próxima barra feche e se a ordem não tiver sido aberta, feche-a à força com OrderDelite();}

ajuda com o código

"esperar por ordem pendente de execução"

"esperar que a próxima barra feche, e se a ordem não tiver aberto, fechá-la à força com OrderDelite();"

você deve entender um pouco de lógica e a essência do trabalho com encomendas.

Para realizar um processamento pendente ou à espera de algum evento, você deve lembrar o estado atual do sistema e compará-lo com o esperado.

No seu caso, você tem um evento - um novo bar foi aberto, mas o pedido não foi acionado.

Para fazer isto, você pode ir por este caminho:

- lembre-se do parâmetro Ticket, e do horário do bar em que você abriu. Se houver um novo bar, então você pode pegar imediatamente o Ticket salvo anteriormente e verificar se é um Ticket de mercado ou um Ticket inicial pendente. E se estiver pendente, exclua-a.

Esta variante não é destinada ao comércio real; é apenas para o testador.

----------

Portanto, você precisa de Tempo[], OrderSelect(), OrderType(), OrderCloseTime().

Razão: