Se a mesma fórmula for aplicada aqui, a situação será semelhante à da previsão MA: quanto maior o período, mais precisa será a previsão MA um passo à frente.
O que fiz foi pegar a MA de um período grande, prever uma barra à frente e, em seguida, calcular a previsão de preço a partir disso. Calculei o erro de previsão (previsão de preço real). Calculei os incrementos de preço. Como resultado, o erro foi pior do que os incrementos. Portanto, você pode dizer que "hoje será como ontem" é a melhor previsão.
Se a mesma fórmula for aplicada aqui, a situação será semelhante à da previsão MA: quanto maior o período, mais precisa será a previsão MA um passo à frente.
O que fiz foi pegar a MA de um período grande, prever uma barra à frente e, em seguida, calcular a previsão de preço a partir disso. Calculei o erro de previsão (previsão de preço real). Calculei os incrementos de preço. Como resultado, o erro foi pior do que os incrementos. Portanto, você pode dizer que "hoje será como ontem" é a melhor previsão. .
A autorregressão em uma série filtrada (específica, condicionalmente, horas) é usada lá. Os incrementos dos relógios vizinhos são tomados como regressores. Sim, essa é uma previsão de um passo à frente. Não fiz experimentos mais detalhados. Se você criar um símbolo personalizado no mt5 para o lobo aleatório, poderá testar com o bot do artigo. Infelizmente, não sou amigo deles. Talvez alguém crie um.
#property script_show_inputs#include <Math\Stat\Math.mqh>
#include <rndxor128.mqh>//https://www.mql5.com/pt/articles/273//--- parâmetros de entradainputstring symbol_origin="EURUSD";// nome do símbolo, com base no qual o símbolo personalizado será criado inputstring symbol_name="MySymbol";// nome do caractere do usuário inputdatetime From=D'2019.01.01';
inputdatetime To=D'2020.01.01';
voidOnStart()
{
CustomSymbolCreate(symbol_name,"",symbol_origin);
SymbolSelect(symbol_name,true);
int count=100;//StdDev m1=sqrt(count)
RNDXor128 xor;
//xor.SRand(6);//(GetTickCount());MqlRates A[];
double B[]; ArrayResize(B,count);
int total=CopyRates(symbol_origin,PERIOD_M1,From,To,A);
for(int i=0;i<total;i++)
{for(int j=0;j<count;j++) {B[j]=(xor.Rand()<2147483648)?_Point:-_Point;}
MathCumulativeSum(B);
A[i].open=(i>0) ? A[i-1].close : 1.1;
A[i].high=MathMax(B)+A[i].open;
A[i].low=MathMin(B)+A[i].open;
A[i].close=B[count-1]+A[i].open;
A[i].tick_volume=count;
}
Print(CustomRatesReplace(symbol_name,From,To,A));
}
Nas configurações do gráfico (Ctrl+O), você precisa selecionar o número necessário de barras.
Obrigado por seus artigos, gostei muito de lê-los!
Observei que, neste exemplo, você definiu .diff(lag) depois de selecionar uma única hora em todo o artigo, o que significa que uma defasagem de 25 corresponde, na verdade, a uma defasagem de 25 dias.
A exceção é o gráfico 3D, no qual você aplica a defasagem antes de selecionar a hora. Isso foi intencional?
Olá, o MetaQuotes mudou a API python, portanto, essas funções não funcionam agora. Talvez mais tarde eu conserte isso e anexe um novo notebook
Além disso, você pode verificar a nova documentação neste site
Muito obrigado, Sr., por sua resposta rápida e sua cooperação é muito apreciada
aguardando seu novo arquivo.
Belo artigo! Obrigado por compartilhar seu trabalho!
Espero que você encontre algum tempo para corrigir o problema com a API do Python.
/Rasoul
Notebook fixo
Versão corrigida do notebook, devido a uma alteração na API do python
Versão corrigida do notebook, devido a uma alteração na API do python
Anexado ao artigo
Close[-1] = (Close[0]-Close[lag]) - ((Close[lag]-Close[lag*2]) - (Close[lag-1]-Close[lag*2-1])))
Se a mesma fórmula for aplicada aqui, a situação será semelhante à da previsão MA: quanto maior o período, mais precisa será a previsão MA um passo à frente.
O que fiz foi pegar a MA de um período grande, prever uma barra à frente e, em seguida, calcular a previsão de preço a partir disso. Calculei o erro de previsão (previsão de preço real). Calculei os incrementos de preço. Como resultado, o erro foi pior do que os incrementos. Portanto, você pode dizer que "hoje será como ontem" é a melhor previsão.
Close[-1] = (Close[0]-Close[lag]) - ((Close[lag]-Close[lag*2]) - (Close[lag-1]-Close[lag*2-1])))
Se a mesma fórmula for aplicada aqui, a situação será semelhante à da previsão MA: quanto maior o período, mais precisa será a previsão MA um passo à frente.
O que fiz foi pegar a MA de um período grande, prever uma barra à frente e, em seguida, calcular a previsão de preço a partir disso. Calculei o erro de previsão (previsão de preço real). Calculei os incrementos de preço. Como resultado, o erro foi pior do que os incrementos. Portanto, você pode dizer que "hoje será como ontem" é a melhor previsão.
.
Nas configurações do gráfico (Ctrl+O), você precisa selecionar o número necessário de barras.
Mais tarde, usarei o mesmo método com regressão automática, carregarei as séries no python e criarei o modelo.
Obrigado por seus artigos, gostei muito de lê-los!
Observei que, neste exemplo, você definiu .diff(lag) depois de selecionar uma única hora em todo o artigo, o que significa que uma defasagem de 25 corresponde, na verdade, a uma defasagem de 25 dias.
A exceção é o gráfico 3D, no qual você aplica a defasagem antes de selecionar a hora. Isso foi intencional?