Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 484

 
366366:

Estou otimizando um EA, há muito excesso, cerca de 10^17 graus, e há mais parâmetros, mas eles não podem mais ser otimizados. Por que existem tais restrições?

Além de uma pergunta sobre algoritmo genético. Parece parar de trabalhar corretamente com dados tão grandes, o lucro final salta de forma bastante dramática, muitas vezes para baixo. Ou seja, agora encontrou cenários lucrativos, mas não em qualquer outra época. Os desenvolvedores vão consertá-la?


Eu desisti deste "algoritmo genético" há muito tempo. A matemática requer precisão, e com este algoritmo genético corremos o risco de "derramar o bebê"! É melhor otimizar a abertura das barras na M1! Você terá melhores resultados e economizará tempo! Não vale a pena perseguir carrapatos, eles mentem imensamente!
 
borilunad:

Eu desisti deste "algoritmo genético" há muito tempo. A matemática requer precisão, e com este algoritmo genético corremos o risco de "derramar o bebê"! É melhor otimizar na abertura de barras na M1! Você terá melhores resultados e economizará tempo! Não vale a pena perseguir carrapatos, eles mentem imensamente!

Não estou correndo com carrapatos, estou confiando apenas nas aberturas dos bares. Mas você também não pode fazer isso sem um algoritmo genético, isso me levará cerca de 10 anos.
 
366366:

Eu não estou correndo com carrapatos, apenas com aberturas de bares. Mas você também não pode fazer isso sem um algoritmo genético, isso me levará cerca de 10 anos.

É necessário otimizar por grupos de parâmetros e com passos maiores no início!
 
evillive:



não funcionou (( EURUSD,M15: OrderClose error 138

 
miha91:

não ajudou ((( EURUSD,M15: OrderClose error 138

Há problema se a venda for fechada pela Ask?
 

Muito!!!! muito))))
 
miha91:

Muito obrigado!!!! muito))))
Sempre um prazer ;)
 
Zhunko:

De duas maneiras.

1. Leia o arquivo em um array. Edite o array conforme necessário, depois substitua o arquivo com este array.

2. Calcular a posição do ponteiro do arquivo até o início e o fim dos dados a serem reescritos. Lemos a parte final no buffer e a guardamos. Em seguida, sobrescrevemos o que era necessário. Em seguida, sobregravamos o que lemos e lembramos mais cedo do buffer.


Obrigado!!!
 

Você pode me dizer como modificar uma parada e uma ordem de compra, usando um EA como exemplo? Existem corretoras que exigem que você primeiro abra um pedido e depois o modifique para definir um take e parar.


//+------------------------------------------------------------------+
//|                                                       martin.mq4 |
//|                      Copyright © 2006, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
 
 
extern int distance=30; 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   MathSrand(LocalTime());
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
 
int err = 0;
double Lot = 0.1;
double Ballance=0.0;
int start()
  {
//----
   if (OrdersTotal()==0&&err==0)
     {
       if (Ballance!=0.0)
         {
           if (Ballance>AccountBalance())
             Lot=2*Lot;
           else
             Lot=0.1;
         }
       Ballance=AccountBalance();
         
       int order;
       if (MathRand()%2==0) 
         order=OrderSend(Symbol(),OP_BUY,Lot,Ask,5*Point,Bid-distance*Point,Ask+distance*Point);
       else
         order=OrderSend(Symbol(),OP_SELL,Lot,Bid,5*Point,Ask+distance*Point,Bid-distance*Point);
         
 
       
       if(order<0)
         {
           if (GetLastError()==134) 
             {
               err=1;
               Print("NOT ENOGUGHT MONEY!!");
             }
           return (-1);
         }
       //n++;
       
     }
   
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
chevalier:

Você pode me dizer como modificar uma parada e uma ordem de compra, usando um EA como exemplo? Existem corretoras que exigem que você primeiro abra um pedido e depois o modifique para definir um take e parar.


Por quê?