![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
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.
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....
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
Thanks for the indicator, I'll get it together later,
So I take it the place isn't fishy...
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).
This can even be done as an indicator (as a bar graph).
It is possible to do it, but the indicator will not allow to collect statistics...
Please clarify what the statistics are?
Please clarify what the statistics are?
Statistics about price movement after a candlestick pattern is formed.