Versão beta do livro online sobre programação MQL4 - por Sergey Kovalev (SK.) - página 8

 
Climber:
O que há de errado aqui? O que é gritar sobre erros?

O compilador dá um erro: função Start não encontrada e não pode ser executada, o que significa: função start() não encontrada e não pode ser executada.

Isto é bastante natural. Se não houver nenhuma função especial no programa, ele não poderá ser executado no terminal do cliente MT.

 
Aqui está um erro A função "GetExtremumZZZBar" não é referenciada e será removida do arquivo exp (bem, está claro, a função não é usada em nenhum lugar). Escrevi um comentário no código que acrescentei, após o qual os erros desapareceram.

//+------------------------------------------------------------------+
//|                                                         1111.mq4 |
//|                      Copyright © 2008, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
}    // Добавил вот эту скобку, точнее переместил с конца, в результате 1 ошибка
int GetExtremumZZBar(string sym="", int tf=0, int ne=0, int dp=12, int dv=5, int bc=3) {
  if (sym=="") sym=Symbol();
  double zz;
  int    i, k=iBars(sym, tf), ke=0;
 
  for (i=1; i<k; i++) {
    zz=iCustom(sym, tf, "ZigZag", dp, dv, bc, 0, i);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(i);
    }
  }
  Print("GetExtremumZZBar(): Экстремум ЗигЗага номер ",ne," не найден");
  return(0);
}   
//----
   
//+------------------------------------------------------------------+
Enquanto escrevia esta mensagem, eu parecia ter entendido meu problema. A função não deve estar no corpo da função inicial. Somente a chamada desta função deve estar no corpo do início. Certo?
 
Climber:
 
Ao escrever este post, acho que já descobri meu problema. A função não deve estar no corpo da função inicial. Somente a chamada desta função deve estar no corpo do início. Certo?

Sim
 
Climber:
Enquanto escrevo este post, acho que descobri meu problema. A função não deveria estar no corpo da função inicial. Somente a chamada desta função deve estar no corpo do início. Certo?

Correto. Nenhuma função pode ser descrita no corpo de outra função.
 
Climber:
Enquanto escrevo este post, acho que descobri meu problema. A função não deveria estar no corpo da função inicial. Somente a chamada desta função deve estar no corpo do início. Certo?
Sim. Dê uma olhada aqui: Tutorial MQL4 Estrutura do Programa MQL4 .
 
Surgiu uma nova questão))
É necessário que uma EA com várias moedas abra os gráficos de todos os símbolos utilizados?
Se um tique vier para o símbolo a cuja tabela a EA está anexada, o mesmo critério comercial para outros símbolos será verificado. Neste caso, quero usar a multimoeda para aumentar o número de pedidos abertos durante o dia. Não abriremos muitos pedidos porque trabalhamos com gráficos horários, não recebemos manualmente mais do que dois pedidos de um símbolo por dia.

E minha próxima tarefa assustadora é escrever um bloco de pedidos contabilizando o Expert Advisor de várias moedas. Estou feliz que as ordens pendentes não sejam utilizadas em meu Consultor Especialista (pelo menos reduz o bloco contábil :)). Você pode me sugerir a leitura de algo relacionado à contabilidade em múltiplas moedas sobre este assunto?
 
Climber:
Eu tenho uma nova pergunta))
É obrigatório que uma EA com várias moedas abra os gráficos de todos os símbolos utilizados?

Não. Mas todos os símbolos usados são d.b. na janela do Market Watch.

 

Você pode me dizer como parar uma EA? Eu quero que ele pare de funcionar quando uma parada de perda for acionada. Se alguém puder me dar uma dica, por favor escreva para mininp@list.ru. Obrigado de antemão!

 
Mister_X:

Você pode me dizer como parar uma EA? Eu quero que ele pare de funcionar quando uma parada de perda for acionada. Se alguém puder me dar uma dica, por favor escreva para mininp@list.ru. Obrigado de antemão!


Talvez seja mais fácil não parar, mas apenas verificar se há uma ordem de parada e, se houver, não fazer nada.
 
Encontrei um grande artigo sobre a contabilidade de pedidos complexos da SK'Encomendas de livros em um grande programa'.
Atualmente estou trabalhando manualmente na minha conta demo. Estou trabalhando manualmente neste último sistema há cerca de um mês.

Comecei com 1.000º de um depósito e 1:100º de uma alavancagem. O tamanho mínimo do lote é sempre $100. Eu trabalho com 3-4 pares de moedas. Durante as duas primeiras semanas consegui aumentar meu depósito em 2 vezes, ou seja, meu depósito tornou-se =$2.000. Agora são cerca de 3000.

Durante este tempo o lucro máximo foi de 118 pontos por um instrumento (de um pedido, é claro). Em média, eu fecho pedidos com lucro de 40-50 pontos. Para uma dessas ordens, um par de ordens é fechado com paradas com perda total próxima a 10 pontos. 100 pontos por dia no total por vários instrumentos. E isto não é menos do que um aumento de 2 vezes do depósito em um mês. E se calcularmos com reinvestimentos levados em conta, então após 10 meses o depósito será de 1 milhão 24 mil dólares americanos.

Tudo seria bom, devemos nos regozijar, mas há uma pergunta razoável: que empresa de corretagem dá tão descaradamente se torna popular em 10 meses com 1000 dólares???? .

Estou tentando escrever um Consultor Especialista, eu deveria negociar por conta própria.

Tenho que ser honesto com você, estou pensando em todo este evento, não é um esquema?
Razão: