Morse code - page 8

 
User_mt5:

It is possible to agree with this. Just in these terms - 'maybe' and 'in the aftermath'.

Even before that, you have to define this very 'every pattern'. And it's not profitable. The method is not about profit and trading in general. It 's about repeating similar patterns. I.e. a pattern in the right side with their left side being similar. Length, shape, amplitude, cyclicality, other parameters are all subject to research.

Yes. And if you do the same on the basis of candlesticks, it will be the same, but weaker and more jagged. And there are fewer patterns - simply by the definition of a candle.

Except it's too late to tell me the alphabet, I smoked it.
Паттерн — Википедия
Паттерн — Википедия
  • ru.wikipedia.org
Па́ттерн (англ.   — образец, шаблон; форма, модель; схема, диаграмма) — схема-образ, действующая как посредствующее представление, или чувственное понятие, благодаря которому в режиме одновременности восприятия и мышления выявляются закономерности, как они существуют в природе и обществе. Паттерн понимается в этом плане как повторяющийся...
 
Rafael Sahibgareev: As for ideas, I would look at the candles formed by the delta of traded volume, Karputov and Saiber have good indicators on this topic...
can you give me a link or more details, what is a delta of traded volume?
 

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

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

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

Each candle is formed by the number of buy and sell trades,

i.e. buy-sell = delta ; if delta[1]>0 delta[1]=1

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

not correct, but I think it makes sense....


Session Buy Sell Orders Volume
Session Buy Sell Orders Volume
  • votes: 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

Each candle is formed by the number of buy and sell trades,

i.e. buy-sell = delta ; if delta[1]>0 delta[1]=1

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

not correct, but I think it's clear....


For Saiber the ticks are for pipsing, Karputov's is the last value on the current bar; with their indicators we cannot get the history for the last 24 hours, that is why I use minutes; on an hourly bar we take all minutes, one minute up - Buy volume, one minute down - Sell volume and so on for all bars in each 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;
        }
*/

In the commented part of the code, which is not posted last time, this time those who want can put it together and watch the statistics on the chart, you only need to remove iSets and iHelpers and replace with what's in the comments

Files:
 

Thanks for the indicator, I'll get it together later,

So I take it the place isn't fishy...

 
What if we split the statistics into two parts - for candlesticks above the MA and below the MA? Maybe we should consider not only the candles themselves, but also the overall dynamics?
 
-Aleks-:
What if we divide the statistics into two parts - for candlesticks above and below the MA? Maybe we should consider not only the candlesticks themselves but also the general dynamics?

This can even be done as an indicator (as a histogram).

 
Vladimir Karputov:

This can even be done as an indicator (as a bar graph).

You can do it, but an indicator won't allow you to collect statistics...
 
-Aleks-:

It is possible to do it, but the indicator will not allow to collect statistics...

Please clarify what the statistics are?

 
Vladimir Karputov:

Please clarify what the statistics are?

Statistics about price movement after a candlestick pattern is formed.