Código Morse - página 8

 
User_mt5:

Es posible estar de acuerdo con esto. Sólo en estos términos: "tal vez" y "a posteriori".

Incluso antes de eso, hay que definir este mismo "cada patrón". Y no es rentable. El método no tiene que ver con las ganancias y el comercio en general. Se trata de repetir patrones similares. Es decir, un patrón en el lado derecho con su lado izquierdo siendo similar. La longitud, la forma, la amplitud, la ciclicidad y otros parámetros son objeto de investigación.

Sí. Y si se hace lo mismo sobre la base de velas, será lo mismo, pero más débil y más irregular. Y hay menos patrones - simplemente por la definición de una vela.

Excepto que es demasiado tarde para decirme el alfabeto, me lo he fumado.
Паттерн — Википедия
Паттерн — Википедия
  • ru.wikipedia.org
Па́ттерн (англ.   — образец, шаблон; форма, модель; схема, диаграмма) — схема-образ, действующая как посредствующее представление, или чувственное понятие, благодаря которому в режиме одновременности восприятия и мышления выявляются закономерности, как они существуют в природе и обществе. Паттерн понимается в этом плане как повторяющийся...
 
Rafael Sahibgareev: En cuanto a ideas, yo miraría las velas formadas por el delta del volumen negociado, Karputov y Saiber tienen buenos indicadores sobre este tema...
¿puede darme un enlace o más detalles, qué es un delta de volumen negociado?
 

https://www.mql5.com/ru/code/17427

https://www.mql5.com/ru/code/17426

https://www.mql5.com/ru/forum/96537/2852515#comment_2852515

Cada vela está formada por el número de operaciones de compra y venta,

es decir, compra-venta = delta ; si delta[1]>0 delta[1]=1

else if delta[1]<0 delta[1]=0

no es correcto, pero creo que tiene sentido....


Session Buy Sell Orders Volume
Session Buy Sell Orders Volume
  • votos: 11
  • 2017.01.19
  • Vladimir Karputov
  • www.mql5.com
В виде гистограммы максимальное и минимальное значения параметров SYMBOL_SESSION_BUY_ORDERS_VOLUME - "Общий объём ордеров на покупку в текущий момент" и SYMBOL_SESSION_SELL_ORDERS_VOLUME - "Общий объём ордеров на продажу в текущий момент".
 
Rafael Sahibgareev:

https://www.mql5.com/ru/code/17427

https://www.mql5.com/ru/code/17426

https://www.mql5.com/ru/forum/96537/2852515#comment_2852515

Cada vela está formada por el número de operaciones de compra y venta,

es decir, compra-venta = delta ; si delta[1]>0 delta[1]=1

else if delta[1]<0 delta[1]=0

no es correcto, pero creo que es claro....


Para Saiber los ticks son para el pipsing, el de Karputov es el último valor de la barra actual; con sus indicadores no podemos obtener el historial de las últimas 24 horas, por eso uso los minutos; en una barra horaria tomamos todos los minutos, un minuto arriba - volumen de compra, un minuto abajo - volumen de venta y así para todas las barras de cada combo.

/*
        int getChain(int &codes[], const int order)
        {
            ArraySetAsSeries(codes, true);

            for (int k = 0; k < order; k++) 
            {
                if (codes[k] == 0)
                {
                    codes[k] = 1;
                    return 1;
                }
                else
                {
                    codes[k] = 0;
                }
            }
        
            return 0;
        }

        int getPairs(SSets& series[], const string names, const bool validate = true)
        {
            string syms[];
            int index = 0, count = StringSplit(names, ',', syms);
        
            for (int k = 0; k < count; k++)
            {
                string inverse = StringSubstr(syms[k], 3, 3) + StringSubstr(syms[k], 0, 3) + StringSubstr(syms[k], 6);
                bool A = SymbolSelect(syms[k], true) && SymbolInfoInteger(syms[k], SYMBOL_TRADE_MODE) == SYMBOL_TRADE_MODE_FULL;
                bool B = SymbolSelect(inverse, true) && SymbolInfoInteger(inverse, SYMBOL_TRADE_MODE) == SYMBOL_TRADE_MODE_FULL;
        
                if (A || validate == false)
                {
                    ArrayResize(series, index + 1); 
                    series[index].mSymbol.mName = syms[k];
                    series[index].mSymbol.mOrder = 0;
                    index++;
                }
                else if (B || validate == false)
                {
                    ArrayResize(series, index + 1); 
                    series[index].mSymbol.mName = inverse;
                    series[index].mSymbol.mOrder = 1;
                    index++;
                }
            }
            
            return index;
        }

        int getSourceSets(SSets& series[], const ENUM_TIMEFRAMES period, const int order, const int depth, const int position)
        {
            int bars = MathMin(getSetsBars(series, period, order, depth), depth);
        
            for (int k = 0; k < order; k++)
            {
                MqlRates rates[];
                int count = CopyRates(series[k].mSymbol.mName, period, position, bars, rates);

                if (count < 1)
                {
                    Print(
                        "Synchronization : " + series[k].mSymbol.mName + ", " + 
                        "Position : " + IntegerToString(position) + ", " + 
                        "Depth : " + IntegerToString(depth) + ", " + 
                        "Bars : " + IntegerToString(bars));
        
                    return 0;
                }

                int index = count - 1;

                setupSet(series[k], count);

                for (int n = count - 1; n > -1; n--)
                {
                    series[k].mLow[index] = rates[n].low;
                    series[k].mHigh[index] = rates[n].high;
                    series[k].mOpen[index] = rates[n].open;
                    series[k].mClose[index] = rates[n].close;
                    series[k].mPoint[index] = rates[n].close;
                    series[k].mSpread[index] = rates[n].spread;
                    series[k].mVolume[index] = rates[n].real_volume ? rates[n].real_volume : rates[n].tick_volume;
                    series[k].mTime[index] = rates[n].time;

                    index--;
                }
            }

            return bars;
        }
*/

En la parte comentada del código, que no está publicada la última vez, esta vez los que quieran pueden armarlo y ver las estadísticas en el gráfico, sólo hay que quitar los iSets y los iHelpers y reemplazarlos por lo que está en los comentarios

Archivos adjuntos:
 

Gracias por el indicador, me pondré a ello más tarde,

Así que entiendo que el lugar no es sospechoso...

 
¿Y si dividimos las estadísticas en dos partes: para velas por encima de la MA y por debajo de la MA? ¿Tal vez deberíamos considerar no sólo las velas en sí, sino también la dinámica general?
 
-Aleks-:
¿Y si dividimos las estadísticas en dos partes - para velas por encima y por debajo de la MA? ¿Quizás debamos considerar no sólo los candelabros en sí, sino también la dinámica general?

Esto puede hacerse incluso como un indicador (como un histograma).

 
Vladimir Karputov:

Esto puede hacerse incluso como un indicador (como un gráfico de barras).

Puedes hacerlo, pero un indicador no te permitirá recopilar estadísticas...
 
-Aleks-:

Es posible hacerlo, pero el indicador no permitirá recoger estadísticas...

Por favor, aclare cuáles son las estadísticas.

 
Vladimir Karputov:

Por favor, aclare cuáles son las estadísticas.

Estadísticas sobre el movimiento del precio después de la formación de un patrón de velas.