[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 273

 
Urain >> :

Acho que todos os novatos sabem tudo :o)

Não. O velho hábito soviético de não entrar na fila, mas passar pela própria janela ainda está vivo. :))

 

Como testar um EA em citações reais?

_____________________________________________

Boa tarde, amigos.


Você pode me dizer como resolver este problema?


Eu escrevi um consultor especializado e quero testá-lo em citações em tempo real.


É possível testar o Expert Advisor em citações "reais" para que o terminal não esteja sempre aberto (o computador não está sempre funcionando)?


A questão é que o Expert Advisor é projetado principalmente para H4, e para obter uma quantidade decente de negócios para análise - o terminal deve estar funcionando 24 horas por dia e, portanto, o computador deve estar funcionando 24 horas por dia por pelo menos uma semana ...

Isto, por razões óbvias, não é inteiramente confortável.


Ou seja, é possível "transferir" testes da minha máquina, mas, ao mesmo tempo, para que os testes ocorram em dados reais, não históricos?


Muito obrigado de antemão.
 
Em geral, é claro, se você estiver testando em uma demonstração, não importa - otimize-a na história, depois desligue-a por um mês, e depois veja no testador o que seu filho da cabeça pode fazer com novas citações. A possibilidade de levar a estratégia a um servidor remoto ainda não está disponível no Metatrader.
 
alsu >> :
Se você quiser ver como funciona o Expert Advisor em tempo real, o terminal certamente deve ser habilitado. A possibilidade de enviar a estratégia para um servidor remoto está ausente no MetaTrader.

Você pode alugar um servidor, instalar uma máquina virtual, colocar MT nele e o servidor estará online o dia todo (procure-o no fórum, já foi discutido).

 
Não é higiênico - eles vão roubar a estratégia!))
 
Morzh09 >> :

Como testar um EA em citações reais?

_____________________________________________

Amigos, boa tarde.


Por favor, informe como resolver este problema.


Eu escrevi um consultor especializado e quero testá-lo com citações em tempo real.


É possível testar o Expert Advisor em citações "reais" para que o terminal não esteja sempre aberto (o computador não está sempre funcionando)?


O problema é que o Expert Advisor é projetado principalmente para H4, e para obter o suficiente para análise - o terminal deve estar funcionando 24 horas por dia e, portanto, o computador deve estar funcionando 24 horas por dia por pelo menos uma semana...

Isto, por razões óbvias, não é inteiramente confortável.


Ou seja, é possível "transferir" testes da minha máquina, mas, ao mesmo tempo, testar em dados reais, não históricos?


Muito obrigado de antemão.

Grosso modo, em uma semana todos os seus dados "reais" serão históricos (o que não os impedirá de permanecerem reais), o que o impede de fazer uma corrida no testador? Embora o aluguel de um servidor virtual também seja uma opção para tais casos.

Em geral, o problema é visto apenas na sua compreensão do problema. Se você precisar avaliar a estratégia, o testador é suficiente, se as falhas no trabalho real, as pequenas lacunas no trabalho não serão um impedimento particular para a avaliação.

Tenho dois computadores funcionando ininterruptamente, as razões são absolutamente obscuras, de que tipo de conforto você está falando?

Se seu computador é ruidoso, você pode comprar um netbook asus 700, é um centavo agora, e deixá-lo funcionar sem desligar.

 

Olá. Acabei de me deparar com um artigo sobre um assunto que me interessa. Nomeadamente isto: Escolhendo um tamanho de janela. .... Os melhores resultados são alcançados

no caso de selecionar uma janela do tamanho da ordem da dimensão fractal dos dados. Para calculá-lo, devemos "fatiar" a série com uma janela deslizante de tamanho suficientemente grande

(ver Figura 5 ), e então calcular a dimensão fractal dos dados resultantes usando, por exemplo, o método Box-count....

Favor aconselhar (de preferência mais simples), como calcular o tamanho desta janela deslizante. Ou, pelo menos, onde olhar para ele.

 
Piboli >> :

Olá. Acabei de me deparar com um artigo sobre um assunto que me interessa. Nomeadamente isto: Escolhendo um tamanho de janela. .... Os melhores resultados são alcançados

no caso de selecionar uma janela do tamanho da ordem da dimensão fractal dos dados. Para calculá-lo, devemos "fatiar" a série com uma janela deslizante de tamanho suficientemente grande

(ver Figura 5 ), e então calcular a dimensão fractal dos dados resultantes usando, por exemplo, o método Box-count....

Favor aconselhar (de preferência mais simples), como calcular o tamanho desta janela deslizante. Ou, pelo menos, onde olhar para ele.

Não hesite em iniciar um tópico com esta pergunta, acho que será mais útil,

O mesmo tópico está organizado para questões elementares e um pouco mais complexas de programação.

 
Urain писал(а) >>

Não hesite em iniciar um tópico com esta pergunta, eu acho que será mais útil,

O mesmo tópico está organizado para questões elementares e um pouco mais complicadas de programação.

Eu também queria sugerir a criação de um tópico separado. Mas eu recusei.

 

Olá.

Existe um especialista em SimpleMA, eu o afinei um pouco para mim, apenas um pouco ...:-)) e chamado MASimple_v2x).

//+------------------------------------------------------------------+
//|                                                 MASimple_v2x.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern int       MAFP=10;
extern int       MASP=20;
extern double    Lots=0.1;
extern int       MagicNumber=123456;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
    
bool CheckOrders(int Type)
{
 bool Result= True;
 for(int i=0; i<OrdersTotal(); i++)
  if(OrderSelect( i, SELECT_BY_POS))
   if(OrderMagicNumber()== MagicNumber && OrderSymbol() == Symbol())
      if(OrderType()== Type)
        {
         if( Type==OP_BUY)
           if(!OrderClose(OrderTicket(),OrderLots(),Bid,0))
             Result= False;
         if( Type==OP_SELL)
           if(!OrderClose(OrderTicket(),OrderLots(),Ask,0))
             Result= False;
         } 
        else Result= False;
 return( Result); 
}

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
    double MAF_0 =iMA(NULL, 0, MAFP,0,1,1,0);
    double MAF_1 =iMA(NULL, 0, MAFP,0,1,1,1);
    double MAS_0 =iMA(NULL, 0, MASP,0,1,1,0);
    double MAS_1 =iMA(NULL, 0, MASP,0,1,1,1);
    
    if( MAF_1 < MAS_1 && MAF_0 > MAS_0)
     if( CheckOrders(OP_SELL))//продажа
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 10, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
       
    if( MAF_1 > MAS_1 && MAF_0 < MAS_0)
     if( CheckOrders(OP_BUY))//покупка
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 10, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

então eu tentei melhorá-lo MAS MAS

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
    double MAF_0 =iMA(NULL, 0, MAFP,0,1,1,0);
    double MAF_1 =iMA(NULL, 0, MAFP,0,1,1,1);
    double MAS_0 =iMA(NULL, 0, MASP,0,1,1,0);
    double MAS_1 =iMA(NULL, 0, MASP,0,1,1,1);
    
    if MAF_0 - MAF_1= A
    if MAS_0 - MAS_1= B
    
    if( A <0 && B <0)
     if( CheckOrders(OP_SELL))//продажа
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 10, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
       
    if( A >0 && B >0)
     if( CheckOrders(OP_BUY))//покупка
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 10, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

Eu recebi um erro depois de experimentar

'A' - variable not defined	C:\Program Files\MetaTrader - Alpari\experts\MASimple_v2x_1. mq4 (65, 23)
'B' - variable not defined	C:\Program Files\MetaTrader - Alpari\experts\MASimple_v2x_1. mq4 (66, 23)
'A' - variable not defined	C:\Program Files\MetaTrader - Alpari\experts\MASimple_v2x_1. mq4 (68, 9)
'B' - variable not defined	C:\Program Files\MetaTrader - Alpari\experts\MASimple_v2x_1. mq4 (68, 17)
'A' - variable not defined	C:\Program Files\MetaTrader - Alpari\experts\MASimple_v2x_1. mq4 (75, 9)
'B' - variable not defined	C:\Program Files\MetaTrader - Alpari\experts\MASimple_v2x_1. mq4 (75, 17)

O QUE EU FIZ DE ERRADO?????????????

Obrigado de antemão