Eu nunca estudei programação, mas quero escrever um EA - página 2

 
Vladimir Karputov:

Apenas ler a referência sem estabelecer os objetivos (mesmo que muito simples) não faz nada. É como aprender karatê olhando para fotos deitadas no sofá :)

A referência é exatamente o ponto, com exemplos. Livros didáticos para manequins, como por exemplo, como obter correspondência em 280 páginas é uma perda de tempo. tudo pode ser explicado em 10-15 minutos

 
Sergey Lobzankin:

Eu nunca estudei programação, mas quero escrever um EA.

Fale com os profissionais. Não poupe nenhum dinheiro para boas idéias. Todos deveriam estar em seu lugar.

 
Sergey Lobzankin:

boa tarde, meninos e meninas,
aqui estão algumas variáveis globalmente
Eu quero obter os preços de abertura no tronco.



mas estou recebendo algumas besteiras estranhas.
O que está errado?



assim:

datetime prevdaytime; // здесь храним время предыдущего дня
datetime  time[];      // сюда будем получать новое текущее время
double open[];        // сюда будем получать текущие цены открытия
//+------------------------------------------------------------------+
void OnTick()
  {
   CopyTime(_Symbol,PERIOD_D1,0,1,time); // получаем время дневного бара

   if(time[0]!=prevdaytime) // если время дневного бара отличается от предидущего
     {
      CopyOpen(_Symbol,PERIOD_D1,0,1,open); // копируем новую цену open  
      Print("Time: ",TimeToString(time[0],TIME_DATE)," |  Price Open: ",DoubleToString(open[0],_Digits)); // выводим в журнал
      prevdaytime=time[0]; // запоминаем последнее время нового бара
     }
  }
//+------------------------------------------------------------------+
 
Você pode me dizer qual é a melhor maneira de fazê-lo?
A parada móvel deve ser escrita como uma função separada ou deve ser adicionada à função OrderModify existente?
 
Morexod:

soa algo parecido com isto.

Eu nunca estudei cirurgia, mas quero fazer cirurgia, então aqui está um machado, uma furadeira e uma lima. O que há de errado com isso?

Sim, atualmente estou sendo atormentado por um cara na VK. Ele não pode programar, mas quer escrever um escalpador. Ele diz que vai fazer um programa a partir de peças de outros programas.

E depois há o cliente, ele decidiu que se você mudar todos os prós para minus e vice-versa no EA, ele vai parar de vazar e começar a cortar couve ))

 
Sergey Lobzankin:
Por favor, aconselhe como fazer melhor?
A parada móvel deve ser escrita como uma função separada ou integrada na função OrderModify existente?

Como uma função separada, é claro. Há bons exemplos na kodobase. Em geral, há uma regra que se algum código executa uma ação significativa, ele deve ser implementado em uma função separada.

Você pode escrever uma folha de tela de 100500 em OnTick e então você tem vontade de cuspir deste código de esparguete de lixo.

 
Rapazes, bem, eu acho que peguei algumas coisas



Ainda tenho muito trabalho a fazer, mas no final das contas, é uma sensação boa.
Obrigado pela dica sobre algumas coisas,
 

Fora de tópico:


Sergei, como você publicou o sinal ? é uma negociação puramente manual com meios improvisados ?

 
Sergey Lobzankin:
Pessoal, acho que tenho algo



, é claro, ainda tenho muito a polir, mas em geral é bom.
Obrigado pela dica aqui e ali,

Portanto, o homem não conhece programação, mas escreveu um Consultor Especialista. E nós estamos ofegando aqui, estudando MQL por alguma razão ))

 

isso é melhor :)