Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 964

 
Nikolai Semko:
Não entendo porque há tanta propaganda ao redor do testador. Eu só preciso dele para um único passe. Toda otimização deve ser feita dentro do programa.
A última vez em que um testador foi usado para fazer xingamentos foi há cerca de 7-8 anos.

Bem, discordo, já terminei a busca automática de MM para qualquer TS, infelizmente, MM governa de qualquer maneira, preciso de um TS intradiário, e para encontrar um MM que seja mais de 5% de drawdown para um ou dois anos de teste apenas olhando para o gráfico - bem, não é realista (TS com stoplosses! )

agora se eu tiver a busca automática do MM, diferentes TS serão testados - já é mais fácil... esperando muito tempo, o MM vai procurar por entradas aleatórias por 49 horas por ano, mas eu não vou contá-lo à mão, vou colocar meu caderno amanhã, deixe-o ofegar

acabei de abandonar o teste, é hora de ir para casa, aqui está um sorteio de 5% com entradas aleatórias, para ser honesto eu nem sei qual é o MM ideal aqui - 10 grupos, em cada grupo uma ordem será iniciada por uma estratégia MM ou será movida para o outro lado, e talvez esta ordem seja reduzida em lotes ou aumentada, todas as configurações são razoáveis, lote máximo 0,5, mínimo 0,1

 
Igor Makanu:

Bem, como se eu não concordasse, agora terminei a busca automática por MM para qualquer TS, infelizmente, MM regras como você gosta, eu preciso de um TS intraday, e para encontrar um MM que é mais de 5% de drawdown para um ano ou dois de teste apenas olhando para o gráfico - bem, não realista (TS com stoplosses! )

agora se eu tiver a busca automática do MM, diferentes TS serão testados - já é mais fácil... esperando muito tempo, o MM vai procurar por entradas aleatórias por 49 horas por ano, mas eu não vou contá-lo à mão, vou colocar meu caderno amanhã, deixe-o ofegar

eu nem sei qual MM é ótimo aqui - 10 grupos, em cada grupo uma ordem será iniciada por uma estratégia MM ou será deslocada para outro lado e talvez esta ordem seja diminuída em lotes ou aumentada, todas as configurações são razoáveis, lote máximo 0,5, mínimo 0,1


O que é MM? Maquinar algo?
Mas esta imagem é o resultado da otimização(ajuste) dos parâmetros de acordo com dados históricos. E o resultado disponível é baseado nos mesmos dados históricos. Não há mágica, apenas um hocus-pocus. Você não acha que este resultado será repetido no próximo intervalo de dados futuros, acha?
Bem, não se pode avançar em um terreno montanhoso com precipícios, olhando apenas no espelho retrovisor.
Igor, sugiro mudar para você.


 
Nikolai Semko:
O que é MM? Maquinar algo?

MM é o mesmo que PUK. Regras de administração do dinheiro.:))))

 
Pul-Adgi Mo-UlStan:

Já passei um dia inteiro transferindo o código pronto da coruja e do indicador do mt4 para o mt5 É uma loucura que eu já teria escrito 2 conselheiros do zero no mt4 com diferentes algoritmos....

psc. aguenta comigo, shhhhh. ok isto é apenas porque eu preciso de um teste rápido de mt5...

Pena que não há conversor.....

Presumo que a oferta do tumblr foi rejeitada devido à revelação da estratégia?

 
Nikolai Semko:
E o que é MM? O que é MM?
Mas este quadro é o resultado da otimização dos parâmetros para os dados históricos. E o resultado disponível é baseado nos mesmos dados históricos. Não há mágica, apenas hocus-pocus. Você não acha que este resultado será repetido na próxima seção de dados futuros, acha?
É impossível avançar em um terreno montanhoso com precipícios, olhando apenas nos espelhos retrovisores.
Igor, eu sugiro mudar para você.


Administração do dinheiro

Não é exatamente otimização, os objetivos ainda não foram alcançados, as ordens pendentes por entradas aleatórias seguem o preço, no otimizador a seleção é feita de acordo com a fórmula y=kx+b, mais tarde usarei polinomial e expoente, mas o otimizador busca apenas os fatores e os valores das ordens, para não embaçá-lo - é uma grade, bem, quase, mas os objetivos ainda não foram alcançados

Quando olho para os mercados com os quais tenho lidado (embora não muito ativamente) desde que me registrei no Fórum, é claro que levei muito tempo para melhorar a camada de programação em MQL, mas em geral a idéia foi desenvolvida durante o ano de redação relacionada dos Expert Advisors com base nas solicitações dos trabalhadores)))

sem problemas, vá em frente

 
Nikolai Semko:

Você já tentou usar substituições de macros no início do programa?
por exemplo:

Você não tem que mudar nada.
A verdade é que, tendo trabalhado na MQL5 por um longo tempo, a MQL4 o incomodará. Eu sei como é.

Eu fiz isso, obrigado, funciona))))

#define  Ask_ SymbolInfoDouble(_Symbol,SYMBOL_ASK)
#define  Bid_ SymbolInfoDouble(_Symbol,SYMBOL_BID)
#define  Point_ SymbolInfoDouble(_Symbol,SYMBOL_POINT)
 

Havia uma função

OrderCloseTime

Em µl5 é substituído por))))

      //--- select history for access
      HistorySelect(0,TimeCurrent());
      //---
      int    orders=HistoryDealsTotal();  // total history deals

      for(int i=orders-1;i>=0;i--)
        {
         ulong ticket=HistoryDealGetTicket(i);
         if(ticket==0){Print("HistoryDealGetTicket failed, no trade history"); break;}
         //--- check symbol
         if(HistoryDealGetString(ticket,DEAL_SYMBOL)!=_Symbol) continue;
         //--- check Expert Magic number
         if(HistoryDealGetInteger(ticket,DEAL_MAGIC)!=(MA_MAGIC1||MA_MAGIC2)) continue;
         //--- check 
         datetime timCloseOrder=?????????????????????
         ГДЕ ВРЕМЯ ЗАКРЫТИЯ ОРДЕРА ВЗЯТЬ???????? 

Estou perdendo a cabeça pelo terceiro dia, passei por todas as armadilhas, estou testando o limite de tempo, não consigo descobrir como fazê-lo, pelo menos escreva onde eles colocamOrderCloseTime()----)))))))))))))))

 
Pul-Adgi Mo-UlStan:

Havia uma função

Em µl5 é substituído por))))

Estou ficando louco no terceiro dia em que passei por todas as armadilhas, todas testaram o limite de tempo que não consigo descobrir como fazer, pelo menos escreva onde a OrderCloseTime()----)))))))))))))))

Sim, encontrar tempo para fechar uma posição é um pesadelo...

Em mql5 não existe tal função a priori, porque a ordem "vida" aqui termina quando o negócio é criado. E em geral, dividimos o que costumávamos chamar de ordem em mql4 em 3 etapas Ordem - Negócio - Posição. Para obter a data e a hora de fechamento de uma posição, precisamos selecionar o histórico da posição requerida e verificar todas as ofertas, verificando o tipo de entrada. Você precisa DEAL_ENTRY_OUT - saída parcial ou completa da posição, e DEAL_ENTRY_IN_OUT -inversão da posição. Então, verificando a data e a hora de tal comércio, você poderá descobrir quando a posição foi fechada.

 
Pul-Adgi Mo-UlStan:

como fazê-lo, pelo menos escreva onde OrderCloseTime()----)))))))))))))))

Eu também fiz esta pergunta, infelizmente apenas algumas pessoas no fórum sabem a resposta, aqui está o iníciohttps://www.mql5.com/ru/forum/6343/page1096#comment_12518595

aqui está a soluçãohttps://www.mql5.com/ru/forum/6343/page1098#comment_12519819

esta é uma solução universal:https://www.mql5.com/ru/code/16006

 
Igor Makanu:

Eu também fiz esta pergunta, infelizmente apenas algumas pessoas no fórum sabem a resposta, aqui está o iníciohttps://www.mql5.com/ru/forum/6343/page1096#comment_12518595

aqui está a soluçãohttps://www.mql5.com/ru/forum/6343/page1098#comment_12519819

esta é uma solução universal:https://www.mql5.com/ru/code/16006

Não é muito agradável e correto dar bibliotecas como tutoriais na MQL5 - elas fornecem conhecimento zero. As bibliotecas são necessárias para aqueles que já entendem o que é o quê.