Analisar as características ESTATÍSTICAS mais importantes do padrão e escolher um método de negociação sobre ele.
Podemos partir da direção oposta:
- estabelecemos a condição de quantos pontos temos que tomar para um determinado número de barras
- então procurar por tais lugares
- Após encontrar os pontos de "peixe", analisar que combinação de barras (padrão) era antes do ponto de "peixe".
Maxim Dmitrievsky:
é possível, está no campo do reconhecimento de imagens gráficas (visão mecânica)
Alguma idéia sobre a melhor maneira de fazer isso? Diferentes probabilidades e níveis de preços podem ser calculados, como isso pode ser feito?
Talvez aqui seja o que você está procurando.
Как искать паттерны в биржевых данных и использовать их в торговле?
- habrahabr.ru
Сегодня предлагаю поразмышлять о том, как искать паттерны в биржевых данных и как их использовать для успешной торговли. Будем получать биржевые данные Forex от одного из брокеров, сохраним в базу данных PostgreSQL и попробуем найти закономерности при помощи алгоритмов машинного обучения. В статье есть несколько приятных бонусов в виде кода...
O artigo não é nada, mas deixa um sabor horrível para a MQL5 - é impossível fazer um estudo inútil, embora fraco , na MQL5.
Vladimir Karputov:
Podemos partir da direção oposta:
- estabelecemos a condição de quantos pontos temos que tomar para um determinado número de barras
- então procurar por tais lugares
- Após encontrar os pontos de "peixe", analisar que combinação de barras (padrão) era antes do ponto de "peixe".
Basicamente, sim, mas a probabilidade de lucro não será levada em conta quando o padrão for para este ou aquele lado. É desejável introduzir estes riscos desde o início, e não corrigi-los no processo.
Portanto, você também quer agrupar os padrões (calcular) ....
Maxim Dmitrievsky:
Em princípio, sim, mas não levará em conta a probabilidade de lucro quando o padrão se move em uma direção ou outra
Em princípio, sim, mas não levará em conta a probabilidade de lucro quando o padrão se move em uma direção ou outra
O que você quer dizer com isso? Antes de mais nada, procuramos o "lugar do peixe". A segunda etapa é a análise do estado dos bares antes do "local do peixe".
Igor Yeremenko:
É possível, está no campo do reconhecimento de imagem (visão mecânica).
É possível, está no campo do reconhecimento de imagem (visão mecânica).
Levará tempo para anexá-lo ao mql... E eu não estou interessado em prever, mas em procurar as melhores entradas e saídas
Vladimir Karputov:
O que você quer dizer? Afinal de contas, primeiro procura-se o "lugar do peixe". O segundo passo é analisar o estado das barras antes da mancha de peixe.
O que você quer dizer? Afinal de contas, primeiro procura-se o "lugar do peixe". O segundo passo é analisar o estado das barras antes da mancha de peixe.
Eu queria atribuir algumas estimativas probabilísticas aos padrões e suas sub ondas, pareceu-me que é primitivo demais para apenas procurar pontos n. Precisamos descrever estatisticamente o padrão, mas ainda não descobri como
Maxim Dmitrievsky:
Eu queria atribuir algumas estimativas probabilísticas aos padrões e suas sub ondas. É necessário descrever estatisticamente o padrão, ainda não descobri como.
Eu queria atribuir algumas estimativas probabilísticas aos padrões e suas sub ondas. É necessário descrever estatisticamente o padrão, ainda não descobri como.
Deve-se ir passo a passo. No início, basta encontrar velas de um certo tamanho. Visualmente, veja o que temos:
Busca de um padrão, versão "1.000
//+------------------------------------------------------------------+ //| Search of a pattern.mq5 | //| Copyright © 2017, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2017, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.000" #property description "Индикатор поиска свечей с заданным размером тела" #property description "Найденные свечи отмечаются символами из набора Wingdings" #property indicator_chart_window #property indicator_buffers 2 #property indicator_plots 2 //--- plot Arrows #property indicator_label1 "Bull candle" #property indicator_type1 DRAW_ARROW #property indicator_color1 clrBlue #property indicator_width1 1 #property indicator_label2 "Bear candle" #property indicator_type2 DRAW_ARROW #property indicator_color2 clrRed #property indicator_width2 1 //--- input параметры sinput string __1__ = ""; // Параметр тела свечи input ushort min_size_candel = 15; // Минимальный размер тела свечи () input ushort bull_code = 226; // Код символа бычьего бара(32-255) input ushort bear_code = 225; // Код символа медвежьего бара(32-255) sinput string __2__ = ""; // Параметр смещения input uchar vertical_shift = 15; // Смещение стрелок по вертикали (0-255) //--- индикаторные буфера для построения double BufferBull[]; double BufferBear[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,BufferBull,INDICATOR_DATA); SetIndexBuffer(1,BufferBear,INDICATOR_DATA); //--- зададим код символа для отрисовки в PLOT_ARROW PlotIndexSetInteger(0,PLOT_ARROW,bull_code); PlotIndexSetInteger(1,PLOT_ARROW,bear_code); //--- зададим cмещение стрелок по вертикали в пикселях PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,-(int)vertical_shift); PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,(int)vertical_shift); //--- установим в качестве пустого значения 0 PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0); PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,0); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { static datetime prev_time=0; //--- работаем только в момент рождения нового бара, внутри бара не работаем if(prev_time==time[rates_total-1]) return(rates_total); //--- на новом баре запоминает время его рождения prev_time=time[rates_total-1]; //--- блок расчета значений индикатора int start=1; if(prev_calculated>0) start=prev_calculated; //--- цикл расчета for(int i=start;i<rates_total;i++) { //--- если предыдущая свеча имеет тело больше минимального if(MathAbs(open[i-1]-close[i-1])/Point()>min_size_candel) { if(open[i-1]<close[i-1]) BufferBull[i-1]=high[i-1]; if(open[i-1]>close[i-1]) BufferBear[i-1]=low[i-1]; } } //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+
Capturas de tela da plataforma MetaTrader Trading
MetaQuotes Software Corp., MetaTrader 5, Demonstração
Busca de um padrão, versão "1.000".
Arquivos anexados:
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Digamos que temos um pedaço de um gráfico. Precisamos elaborar (sobre a história) a melhor maneira de abrir negócios sobre ela. Onde comprar, onde vender, onde comprar mais, onde fechar, e assim por diante. Mas devemos considerar que os padrões podem ser diferentes, e devemos encontrar o método mais eficaz de calcular os lugares de abertura de posição para qualquer padrão, minimizando ao mesmo tempo os riscos. Há uma condição mais importante, o padrão pode variar dentro de uma determinada faixa, digamos 20%. Ou seja, no início vemos um padrão e na barra seguinte ele mudará um pouco, embora suas características básicas permaneçam as mesmas (mas sempre veremos todo o padrão e todas as suas mudanças futuras). Ou seja, precisamos introduzir algum outro fator de erro.
Você tem alguma idéia da melhor maneira de fazer isso? Várias probabilidades e níveis de preços podem ser calculados, como isso pode ser feito?