Analysez les caractéristiques STATISTIQUES importantes du modèle et choisissez une méthode de trading sur ce modèle.
Nous pouvons commencer par la direction opposée :
- nous fixons la condition du nombre de points que nous devons prendre pour un nombre donné de barres
- alors cherchez de tels endroits
- après avoir trouvé les taches "poisson", analysez quelle combinaison de barres (motif) se trouvait avant la tache "poisson".
Maxim Dmitrievsky:
C'est possible, c'est dans le domaine de la reconnaissance d'images graphiques (vision artificielle).
Avez-vous des idées sur la meilleure façon de procéder ? Il est possible de calculer différentes probabilités et niveaux de prix, comment faire ?
Voici peut-être ce que vous cherchez.

Как искать паттерны в биржевых данных и использовать их в торговле?
- habrahabr.ru
Сегодня предлагаю поразмышлять о том, как искать паттерны в биржевых данных и как их использовать для успешной торговли. Будем получать биржевые данные Forex от одного из брокеров, сохраним в базу данных PostgreSQL и попробуем найти закономерности при помощи алгоритмов машинного обучения. В статье есть несколько приятных бонусов в виде кода...
L'article n'est rien, mais il laisse un arrière-goût affreux pour MQL5 - il est impossible de faire une étude inutile, bien que faible , en MQL5.
Vladimir Karputov:
Nous pouvons commencer par la direction opposée :
- nous fixons la condition du nombre de points que nous devons prendre pour un nombre donné de barres
- alors cherchez de tels endroits
- après avoir trouvé les taches "poisson", analysez quelle combinaison de barres (motif) se trouvait avant la tache "poisson".
En principe, oui, mais la probabilité de profit ne sera pas prise en compte lorsque le modèle va dans tel ou tel sens. Il est souhaitable d'introduire ces risques dès le début, et non de les corriger en cours de route.
Vous voulez donc regrouper les modèles aussi (calculer) ....
Maxim Dmitrievsky:
En principe, oui, mais il ne tiendra pas compte de la probabilité de profit lorsque le modèle évolue dans une direction ou une autre.
En principe, oui, mais il ne tiendra pas compte de la probabilité de profit lorsque le modèle évolue dans une direction ou une autre.
Qu'est-ce que tu veux dire ? Tout d'abord, nous cherchons la "place du poisson". La deuxième étape consiste à analyser l'état des bars avant la "place du poisson".
Igor Yeremenko:
C'est possible, c'est dans le domaine de la reconnaissance d'images (vision artificielle).
C'est possible, c'est dans le domaine de la reconnaissance d'images (vision artificielle).
Il faudra du temps pour l'attacher à mql... Et je ne suis pas intéressé par les prédictions, mais par la recherche des meilleures entrées et sorties.
Vladimir Karputov:
Qu'est-ce que tu veux dire ? Après tout, il faut d'abord chercher la "place du poisson". La deuxième étape consiste à analyser l'état des barres avant la tache de poisson.
Qu'est-ce que tu veux dire ? Après tout, il faut d'abord chercher la "place du poisson". La deuxième étape consiste à analyser l'état des barres avant la tache de poisson.
Je voulais attribuer des estimations probabilistes aux motifs et à leurs sous-ondes, il me semblait qu'il était trop primitif de se contenter de chercher des points à n points. Nous devons décrire le modèle statistiquement, mais je n'ai pas encore trouvé comment.
Maxim Dmitrievsky:
Je voulais attribuer des estimations probabilistes aux motifs et à leurs sous-ondes. Il faut décrire le modèle statistiquement, je n'ai pas encore trouvé comment.
Je voulais attribuer des estimations probabilistes aux motifs et à leurs sous-ondes. Il faut décrire le modèle statistiquement, je n'ai pas encore trouvé comment.
Il faut y aller étape par étape. Au début, il suffit de trouver des bougies d'une certaine taille. Voir visuellement ce que nous avons :
Recherche d'un modèle, version "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); } //+------------------------------------------------------------------+
Captures d'écran de la plateforme de trading MetaTrader
MetaQuotes Software Corp, MetaTrader 5, Démo
Recherche d'un motif, version "1.000".
Dossiers :

Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Disons que nous avons un morceau d'un tableau. Nous devons trouver (sur l'histoire) la meilleure façon d'ouvrir des marchés sur ce sujet. Où acheter, où vendre, où acheter davantage, où fermer, etc. Mais nous devons tenir compte du fait que les schémas peuvent être différents, et nous devons trouver la méthode la plus efficace pour calculer les positions d'ouverture pour n'importe quel schéma, tout en minimisant les risques. Il peut y avoir plusieurs transactions dans un schéma. Il existe une autre condition importante : le modèle peut varier dans une certaine fourchette, disons de 20%. C'est-à-dire qu'au début, nous voyons un motif et à la mesure suivante, il changera quelque peu, bien que ses caractéristiques de base restent les mêmes (mais nous verrons toujours l'ensemble du motif et tous ses changements futurs). C'est-à-dire que nous devons introduire un autre facteur d'erreur.
Avez-vous une idée de la meilleure façon de procéder ? Il est possible de calculer différentes probabilités et niveaux de prix, comment faire ?