Uma biblioteca rápida e gratuita para o MT4, muito para o deleite de quem trabalha com redes neurais - página 32

 
marker:

Concordo que isto é inadequado, concordo que os pesos específicos na corrida devem ser os mesmos que na otimização, caso contrário o segundo passe é "do zero" - pelo que entendi. No mundo real, para "terminar" não vai funcionar, portanto, é preciso ser desonestos no mandado com os mesmos pesos unitários, basta aprender como salvá-los, estou no ramo em algum lugar que o viu - é possível.
Sim, basta comentar este bloco.
 
VladislavVG:
Nem sempre: devido às limitadas possibilidades de análise histórica, é possível ter lucro, por exemplo, durante o fim de uma tendência e depois, ao se mudar para a zona de consolidação ou inversão de tendência, você perderá muito dinheiro.

Sim, mas podemos ter lucro durante um período de tendência e um período plano e então teremos algo no meio.
 
VladislavVG:
Sim, basta comentar este bloco.

Eu não sei como:))))
 

E também é possível fazê-lo de uma maneira diferente, para ensiná-lo com corridas, eu o fiz, a linha reta acaba sem escorregar e salvar estes dados (com estes pesos ou algo assim) e deixá-lo trocar com estes pesos e fazê-lo todas as semanas....imho claro, mas parece melhor, desta forma encontramos a versão "ideal" de pesos, eu entendi assim....... mas como salvar estes pesos após o treinamento manual..... também parece possível, eu li.

 
marker:

Sim, mas é possível compensar por um período de tendência e de planície e depois conseguimos algo no meio.
Muitas vezes não... a zona de consolidação antes de uma inversão e antes de uma continuação da tendência são zonas diferentes. Como você os distingue?
 
marker:

Eu não posso:))))
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start () {

    if (prevtime == Time[0]) {
      return(0);
    }
    prevtime = Time[0];
    
    int i = 0;

    double train_output[1];
    


    /* Is trade allowed? */
    if (!trade_allowed ()) {
             return (-1);
    }


   int total = OrdersTotal();
   for (i = 0; i < total; i++) {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol()) {
         return(0);      
      }
   }
/* Здесь 
   // Adaptive part
   if (IsOptimization() || IsTesting()) {
      total = OrdersHistoryTotal();
      if (total > 0) {
         OrderSelect(total - 1, SELECT_BY_POS, MODE_HISTORY);   
         if (OrderProfit() < 0) {
            if (OrderType() == OP_SELL) {
               train_output[0] = 1; 
            } else {
               train_output[0] = -1; 
            }
            // Learning
            for (i = 0; i < AnnsNumber; i++) {
                       ann_train (AnnsArray[i], InputVector, train_output);
                      }
         
        }
      }
   }
*/// и здесь
   /* Prepare and run neural networks */
   ann_prepare_input ();
   // Get Outputs
   run_anns ();
   // Get Results
   double res = ann_pnn();
   
   // Trade
   
   int ticket = 0;
   
   if (res >   porog ) {
      RefreshRates();
      ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 2, Ask -  StopLoss * nPoint, Ask + TakeProfit * nPoint, WindowExpertName(), 0, 0, Blue);
   } 
   if (res < (-porog)) {
      RefreshRates();
      ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 2, Bid +  StopLoss * nPoint, Bid - TakeProfit * nPoint, WindowExpertName(), 0, 0, Red);
   }
   if (ticket >= 0) {
      ann_prepare_input ();
   }
   return (0);
}
 
marker:

E também é possível fazê-lo de uma maneira diferente, para ensiná-lo com corridas, eu o fiz, a linha reta acaba sem escorregar e salvar estes dados (com estes pesos ou algo assim) e deixá-lo trocar com estes pesos e fazê-lo todas as semanas....imho claro, mas parece melhor, desta forma encontramos a versão "ideal" de pesos, eu entendi assim....... mas como salvar estes pesos após o treinamento manual..... também parece possível, eu li.

Você tem que tentar. É por isso que eu digo - nem tudo é tão simples lá..... e não há lugar nenhum sem forwarders......
 
VladislavVG:
Muitas vezes não... a zona de consolidação antes de uma inversão e antes de uma continuação da tendência são zonas diferentes. Como você os distingue?

Tomamos (digamos, a uma hora) uma zona onde houve uma tendência óbvia (preço subiu ou desceu) (50% do período sendo otimizado) e tomamos uma zona plana (nem aqui nem ali) (também 50% da zona otimizada) e usamos este período como um ótimo e assim obtemos os parâmetros ótimos para o plano e para a tendência.
 
VladislavVG:
Você tem que experimentar. É por isso que eu digo que não é tão simples quanto 12 e você não pode ir a lugar nenhum sem enviar 8

Na minha opinião, esta é a opção ideal. Caso contrário, não entendo como a grade toma uma decisão, usaremos esses parâmetros na licitação, mas os parâmetros não são "fixos", ou seja, pesos específicos serão "do zero", apenas TP e SL serão fixos, e a grade filtrará "como quiser", ou seja, com outros pesos específicos.....
 

Conclusão: (assim como na classe de química: )))))) Nós o pegamos, otimizamo-lo, depois o preparamos manualmente para "reto" (ou seja, poupamos a possibilidade de treinamento adicional), quando o aprendemos a "reto", poupamos tudo e os pesos específicos também, e somente com estes pesos específicos começamos a licitar. Também podemos fazer o seguinte: Tudo como você disse, mas para poder perfurar não para "hoje", mas para "há um mês atrás", então correr com estes pesos fixos de unidade neste último mês e se estivermos satisfeitos com o resultado, o colocaremos no comércio.