Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 2703

 
Aleksey Vyazmikin #:

É isso aí, foi o que eu disse - entender o outro é um esforço patético.

É possível competir. Há cotações da MQ para o MT5, você só precisa decidir sobre o sinal para tomar uma decisão - o sinal sobre o qual as informações serão transmitidas para calcular o modelo. Não aprendi nada sobre Forex - os preditores foram todos feitos para a Si - será engraçado observar sua universalidade.

O vencedor será determinado em meio ano com base nos resultados das negociações.

Não é possível testá-lo no teste? Você precisa negociar por meio ano?
 
mytarmailS #:
Não é possível testá-lo? Você precisa negociar por meio ano?

Bem, para não ficar tentado a se ajustar ao histórico.

 
Aleksey Vyazmikin #:

Bem, então você não se sente tentado a fazer com que isso se encaixe na história.

Não tenho motivo ou tentação, é uma ilusão própria.
 
mytarmailS #:
Não tenho nenhum motivo ou tentação de me enganar.

Isso não é plausível - você quer"competir", não apenas comparar resultados - por isso as condições que sugeri.

Estou interessado em comparar resultados, para que eu possa testá-lo no histórico. Você consegue pensar em uma função para ativar o modelo, ou devo sugeri-la?

 
Aleksey Vyazmikin #:

Não é plausível - você quer"competir", não apenas comparar resultados - por isso os termos que sugeri.

Estou interessado em comparar resultados, para que eu possa testá-lo no histórico. Você consegue pensar em uma função de ativação de modelo ou devo sugeri-la?

Função de ativação do modelo?
Não estou mais com vontade de competir).
 
mytarmailS #:
Função de ativação do modelo?
Não estou mais com vontade de competir)

Sugira sua própria variante - a impulsividade é improdutiva.

 
Aleksey Vyazmikin #:

Sugira sua própria versão - a impulsividade é improdutiva.

Por exemplo...
Pegue um padrão e ensine o modelo a prever se o padrão funcionará ou não...
Crie um conjunto de dados para isso. Não haverá muitos dados, e isso é bom.
É isso que você está fazendo, se bem me lembro. Acho que está fazendo certo.

Sugiro que peguemos um padrão de um salto de preço do mashka, ou o que você quiser....

 
mytarmailS #:
Por exemplo.
Pegue um padrão e ensine o modelo a prever se o padrão funcionará ou não...
Crie um conjunto de dados para isso. Não haverá muitos dados, e isso é bom...
É isso que você está fazendo, se bem me lembro. Acho que está fazendo certo.

Sugiro que você use o padrão de salto de preço, ou qualquer padrão que desejar....

No meu entendimento, essa é a função da ativação do modelo - uma regra estrita sobre a ocorrência da qual o modelo inicia e produz uma previsão.

Então, talvez você deva adotar a estratégia do meu artigo?

//+-----------------------------------------------------------------+
//| Возвращает сигнал на покупку или продажу - базовая стратегия
//+-----------------------------------------------------------------+
bool Signal()
{
//Сбрасываем Флаг блокировки открытия позиций
   SellPrIMA=false;  //Открывать отложенный ордер на продажу
   BuyPrIMA=false;   //Открывать отложенный ордер на покупку
   SellNow=false;    //Открывать ордер с рынка на продажу
   BuyNow=false;     //Открывать ордер с рынка на покупку
   bool Signal=false;//результат работы функции
   int BarN=0;       //Число баров без касания МА
   if(iOpen(Symbol(),Signal_MA_TF,0)>MA_Signal(0) && iLow(Symbol(),Signal_MA_TF,1)>MA_Signal(1))
   {
      for(int i=2; i<100; i++)
      {
         if(iLow(Symbol(),Signal_MA_TF,i)>MA_Signal(i))break;//На этом цикле уже был отработан сигнал
         if(iClose(Symbol(),Signal_MA_TF,i+1)<MA_Signal(i+1) && iClose(Symbol(),Signal_MA_TF,i)>=MA_Signal(i))
         {
            for(int x=i+1; x<100; x++)
            {
               if(iLow(Symbol(),Signal_MA_TF,x)>MA_Signal(x))break;//На этом цикле уже был отработан сигнал
               if(iHigh(Symbol(),Signal_MA_TF,x)<MA_Signal(x))
               {
                  BarN=x;
                  BuyNow=true;
                  break;
               }
            }
         }
      }
   }
   if(iOpen(Symbol(),Signal_MA_TF,0)<MA_Signal(0) && iHigh(Symbol(),Signal_MA_TF,1)<MA_Signal(1))
   {
      for(int i=2; i<100; i++)
      {
         if(iHigh(Symbol(),Signal_MA_TF,i)<MA_Signal(i))break;//На этом цикле уже был отработан сигнал
         if(iClose(Symbol(),Signal_MA_TF,i+1)>MA_Signal(i+1) && iClose(Symbol(),Signal_MA_TF,i)<=MA_Signal(i))
         {
            for(int x=i+1; x<100; x++)
            {
               if(iHigh(Symbol(),Signal_MA_TF,x)<MA_Signal(x))break;//На этом цикле уже был отработан сигнал
               if(iLow(Symbol(),Signal_MA_TF,x)>MA_Signal(x))
               {
                  BarN=x;
                  SellNow=true;
                  break;
               }
            }
         }
      }
   }
   if(BuyNow==true || SellNow==true)Signal=true;
   return Signal;
}
//+------------------------------------------------------------------+
//|Получим значение буфера индикатора handle_MA_Signal               |
//+------------------------------------------------------------------+
double MA_Signal(int index)
{
   double MA[1];
   ResetLastError();
   if(CopyBuffer(handle_MA_Signal,0,index,1,MA)<0)
   {
      PrintFormat("Failed to copy data from the handle_MA_Signal indicator, error code %d",GetLastError());
      return(0.0);
   }
//return NormalizeDouble(MA[0],Digits());
   return MA[0];
}


E, em geral, você pode usar esse Expert Advisor - bem, você o aprimorará para si mesmo, a vinculação ao R, mas haverá semelhança nos resultados dos pontos de decisão.

 
Aleksey Vyazmikin #:

Portanto, no meu entendimento, essa é a função da ativação do modelo - uma regra rígida sobre a ocorrência da qual o modelo inicia e produz uma previsão.

Então, talvez devêssemos adotar a estratégia do meu artigo?


E, em geral, você pode usar esse Expert Advisor - bem, você pode refiná-lo para si mesmo, vinculando-o ao R, mas haverá semelhança nos resultados dos pontos de decisão.

Você pode postar um arquivo CSV para treinamento (com respostas) e para o teste (sem respostas)?
 
elibrarius #:
Você não pode simplesmente publicar um arquivo CSV para o treinamento (com respostas) e para o teste (sem respostas)?

Dessa forma, todos têm preditores diferentes - esse é o problema.

Se for uma questão de quem é melhor em usar o que tem, isso é outra questão.