[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 407

 
Zhunko:

De qualquer forma, sem RefreshRates() meus EAs não funcionarão. Faço-os em loop. Portanto, a RefreshRates() é obrigatória.

O que você quer dizer com "looped"? De fato, pode-se dizer que qualquer Expert Advisor pode ser laçado, pois o início tem um ciclo. Uma vez por carrapato...

Zhunko:

O carregamento inicial do histórico é feito com base neste princípio. Depois eu o recarrego periodicamente. Caso contrário, aparecem "lacunas" na história com as quais o Expert Advisor trabalha. Eu não sei por que isso acontece.

Parece-me que é você negociando em cozinhas, é por isso que os buracos na história estão se formando. Eu noto que isso acontece em cozinhas coxo. Um corretor de qualidade não deveria ter essa merda.

Zhunko:

Eu tentei usar RefreshRates() para paginar. Nem sempre funciona.

Mas o RefreshRates() serve para atualizar variáveis do ambiente do mercado, não para paginação. É claro que não se troca.


Zhunko:

Às vezes chega apenas o último bar.

Onde entra o último bar?

Zhunko:

Se o gráfico de um instrumento estiver aberto, há sempre uma história para ele. Não houve erros neste caso. O erro apareceu quando o gráfico do instrumento requerido não estava aberto.

Hm. Bem, se os dados de mercado são puxados através do MarketInfo(), como eu entendo, não deve haver erros. E, se for contornado, é claro. Parece que sim. Ainda não o verifiquei, mas parece ser a mesma lógica.
 

Olá.

Eu queria fazer uma pergunta sobre os testes do sistema. Em geral, entendo o quadro, mas como não tinha experiência real de conseguir uma EA funcional, estava criando - criando, testando tudo... Em geral, eu não sei quando posso parar agora.

Meu Expert Advisor é simples; ele quase não tem parâmetros de otimização. Não se trata de um escalpe. Troquei-o em D1 durante o período de 2000 a 2013 com um lote mínimo de 0,01 a $100 depo. Este é o relatório.

relatório


Podemos confiar nestes resultados? Existem apenas 300 ofícios, mas de acordo com a lógica estratégica e o cronograma D1 não deve haver muito mais. A estratégia tem apenas um parâmetro de otimização - a fidelidade ao sinal. Se tornarmos o sistema mais rígido para eles, os parâmetros supostamente melhorarão, mas a quantidade de negócios será de apenas 175. Os resultados podem ser confiáveis quando há tantos negócios? Ou, é melhor escolher a primeira variante com indicadores piores, mas com mais negócios?

relatório 2


Ou ambos são inúteis e precisamos de maiores expectativas matemáticas e assim por diante?

 
no par de moedas EUR/USD H4 "à espera de atualização" está aceso e não muda para outros períodos, o que devo fazer?
 
shurik32:
no par de moedas EUR/USD H4 está aceso "à espera de atualização" e não muda para outros períodos o que fazer?
Entre na história F2 swap H4!
 
Vinin:

Se novos ticks vierem durante os cálculos no Expert Advisor (quando a função começa(), o Expert Advisor não saberá sobre eles (ticks). RefreshRates() permite que você utilize os últimos preços atualizados, mas esta função não acessa o servidor. Ele atualiza o ambiente de mercado conhecido pelo terminal. Nenhuma função, exceto as de negociação, se dirige ao servidor.

É difícil dizer sobre o alocado. Você teria que perguntar aos Metakwots.

Tive minha conta real bloqueada na MRC por causa da freqüente abertura e atualização de gráficos. Não é uma função MQL4, mas um visualizador de gráficos interno. Talvez, por exemplo, o MarketInfo() esteja acessando o servidor ou obtenha apenas parte dos dados da visão geral do mercado.

====================================

Tanto quanto me lembro, os dados do Market Watch não precisam ser os mesmos das Variáveis Pré-definidas. Então o que e de onde o RefreshRates() é atualizado?

Eu tenho apenas uma resposta. Refresh está paginando e reconciliando a história a partir do servidor. Eu estava convencido disso muitas vezes quando tentei atualizar a história com ela. Muitas vezes só veio o último bar. Havia um "buraco" no arquivo HST depois que o terminal foi descarregado. Mas se você abrir esta tabela e atualizá-la, o "buraco" foi preenchido. A propósito, quando o RefreshRates() é executado no Gerenciador de Tarefas, você pode observar o carregamento de dados. Talvez, a reconciliação não ocorra quando o histórico é atualizado com RefreshRates(), mas ela ocorre quando o gráfico é atualizado.

Portanto, é necessário controlar se você precisa de histórico sem brechas no fluxo de Expert Advisor.

hoz:
1. O que você quer dizer com cíclico? Na verdade, qualquer Expert Advisor é looped, porque tem um ciclo inicial. Uma vez por carrapato.

2. Parece-me que é você negociando em cozinhas, é por isso que os buracos na história estão se formando. Eu noto que isso acontece em cozinhas coxo. Mas um corretor de qualidade não deveria ter essa merda.

Mas o RefreshRates() serve para atualizar variáveis do ambiente do mercado, não para paginação. É claro que não é paginação.

4. Onde chega o último bar?

5. Hmm. Bem, se você puxar os dados do mercado através do MarketInfo(), como eu entendo, não deve haver nenhum erro. E se você contornar isso, então é claro. É o que parece. Ainda não o verifiquei, mas parece ser a mesma lógica.

1. Assim:

extern string Tool           = "";    // Имя инструмента.
extern bool   IsRefreshRates = false; // Флаг включения обновления таймсерий.
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
void start()
 {
  string sTool = Tool; // Имя инструмента.
  if (Tool == "") sTool = Symbol();
  while (!IsStopped())
   {
    if (IsRefreshRates) RefreshRates();
    Comment("MarketInfo()\n",
            TimeToStr(MarketInfo(sTool, MODE_TIME), TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(MarketInfo(sTool, MODE_BID), Digits), "  ", DoubleToStr(MarketInfo(sTool, MODE_ASK), Digits),
            "\n\nПредопределенные переменные\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Bid, Digits), "  ", DoubleToStr(Ask, Digits),
            "\n\nМассив-таймсерия \"Close[]\"\n",
            TimeToStr(Time[0], TIME_DATE|TIME_MINUTES|TIME_SECONDS), "\n",
            DoubleToStr(Close[0], Digits));
    Sleep(300);
   }
 }

2. não depende de um corretor. Esta é uma peculiaridade do terminal e de seu trabalho com o servidor. Por alguma razão, RefreshRates() não atualiza a história da mesma forma que atualiza o gráfico.

3. você já leria a ajuda? Aqui vamos nós novamente:

Atualize dados em variáveis pré-definidas e conjuntos de séries temporais. Esta função é utilizada quando o Expert Advisor ou o script tem realizado cálculos há muito tempo e precisa de dados atualizados. Ele retorna VERDADEIRO se os dados forem atualizados, caso contrário FALSO. Os dados não podem ser atualizados somente porque correspondem ao estado atual do terminal do cliente. Conselheiros especializados e roteiros trabalham com sua própria cópia de dados históricos. A cópia dos dados sobre o símbolo atual é criada no primeiro lançamento do Expert Advisor ou roteiro. A cada próximo lançamento do Expert Advisor (lembre-se que o roteiro é executado uma vez e não depende de ticks recebidos), a cópia inicialmente criada é atualizada. Um ou vários tiquetaques novos podem aparecer enquanto o Expert Advisor ou roteiro estiver em execução, para que os dados possam ficar desatualizados.

4. Do que estamos falando? Falando sobre a atualização dos dados no tópico Expert Advisor.

5. O código EA acima mostra como e onde os dados são atualizados. Se IsRefreshRates não for incluído, os dados são atualizados somente em MarketInfo().

 
 

Comercializado com sucesso em alpari com ilan 2.0 (1.6) com configurações sensatas, até que os alertas começaram a chegar sobre solicitações freqüentes e improdutivas que carregam o servidor por nada. Acontece que em um alpari de mercado rápido aumenta o nível mínimo possível de ajuste de stop loss para 2 spreads, o que correspondeu a 40 pips, às vezes menos. Mas minha EA parece definir este valor na faixa de 15-55 pips, o que entendi da leitura do código da EA. Mas a Alpari não ficou satisfeita com isso e eu fui ameaçada de bloqueio, por isso parei de negociar. Eu realmente não conhecia o mql4, acabei de editar estas linhas no código, que me pareceu ser a única linha responsável pelo problema, está na aba de qualquer ilan, perto do início:

duplo PrevCl;

moeda duplaCl;

se (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice);

if ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)) {

Onde eu estupidamente mudei os números 15 para 40 para resolver o problema, mas além disso aprendi com a alpari que o problema não está resolvido, ou seja, eu fiz algo errado, o que não é surpreendente. Você pode me aconselhar como editar corretamente o código EA para que ele coloque o nível de parada de perda na faixa de 40-55 pips ao invés de 15-55. Eu sei que a faixa de 40-55 pontos não é grande o suficiente para um conjunto confortável de stop-loss e está muito longe do preço, o que reduz o lucro. Mas eu não tenho escolha, não quero sair de Alpari, é confortável lá. Não há parâmetro apropriado nas configurações padrão da EA.

 
Dmido:

Olá.

Eu queria fazer uma pergunta sobre os testes do sistema. Em geral, entendo o quadro, mas como não tinha experiência real de conseguir uma EA funcional, estava criando - criando, testando tudo... Em geral, eu não sei quando posso parar agora.

Meu Expert Advisor é simples; ele quase não tem parâmetros de otimização. Não se trata de um escalpe. Troquei-o em D1 durante o período de 2000 a 2013 com um lote mínimo de 0,01 a $100 depo. Este é o relatório.


Podemos confiar nestes resultados? Existem apenas 300 ofícios, mas de acordo com a lógica estratégica e o cronograma D1 não deve haver muito mais. A estratégia tem apenas um parâmetro de otimização - a fidelidade ao sinal. Se tornarmos o sistema mais rígido para eles, os parâmetros supostamente melhorarão, mas a quantidade de negócios será de apenas 175. Os resultados podem ser confiáveis quando há tantos negócios? Ou, é melhor escolher a primeira variante com indicadores piores, mas com mais negócios?



Ou ambos são inúteis e precisamos de maiores expectativas matemáticas e assim por diante?


10% ao ano é bom ou ruim?
 
Andrew245:

Comercializado com sucesso em alpari com ilan 2.0 (1.6) com configurações sensatas, até que os alertas começaram a chegar sobre solicitações freqüentes e improdutivas que carregam o servidor por nada. Acontece que em um alpari de mercado rápido aumenta o nível mínimo possível de ajuste de stop loss para 2 spreads, o que correspondeu a 40 pips, às vezes menos. Mas minha EA parece definir este valor na faixa de 15-55 pips, o que entendi da leitura do código da EA. Mas a Alpari não ficou satisfeita com isso e eu fui ameaçada de bloqueio, por isso parei de negociar. Eu realmente não conheço o mql4, acabei de editar estas linhas no código, que me pareceu a única linha responsável pelo problema, está na aba de qualquer ilan, perto do início:

duplo PrevCl;

moeda duplaCl;

se (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice);

if ((iCCI(NULL,15,55,0,0)>Drop && ShortTrade)||(iCCI(NULL,15,55,0,0)<(-Drop) && LongTrade)) {

Onde eu estupidamente mudei os números 15 para 40 para resolver o problema, mas além disso aprendi com a alpari que o problema não está resolvido, ou seja, eu fiz algo errado, o que não é surpreendente. Você pode me aconselhar como editar corretamente o código EA para que ele coloque o nível de parada de perda na faixa de 40-55 pips ao invés de 15-55. Eu sei que a faixa de 40-55 pontos não é grande o suficiente para um conjunto confortável de stop-loss e está muito longe do preço, o que reduz o lucro. Mas eu não tenho escolha, não quero sair de Alpari, é confortável lá. Não há parâmetro apropriado nas configurações padrão da EA.


Então mude os parâmetros de parada, por que você está mudando os parâmetros indicadores?
 
pako:

então mude os parâmetros de stop loss, por que você está mudando os parâmetros indicadores?

Eu adivinhei isso, mas não consigo encontrá-los, os parâmetros de parada de perda
Razão: