
O MQL4 como uma ferramenta do trader, ou a análise técnica avançada
Introdução
As transações comerciais são, antes de tudo, um cálculo de probabilidades. O proverbio que diz que o ócio é um motivador do progresso revela a razão pela qual todos aqueles indicadores e sistemas de transações foram desenvolvidos. O fato é que a maioria dos novatos no mundo das transações estuda teorias "prontas" de transação. Mas, por sorte, há ainda mais segredos de mercado a serem descobertos, e as ferramentas usadas na análise de movimentos de preços existem, basicamente, sob a forma de indicadores técnicos e conjuntos matemáticos ou estatísticos não realizados. Devemos agradecer a Bill Williams por sua contribuição à teoria dos movimentos de mercado. Mas talvez ainda seja cedo para descansar.
Registro de estatísticas
Nós podemos nos perguntar: "Que cor de candlestick (candelabro) é prevalente no gráfico de uma hora do EURUSD?" Nós poderíamos começar a contar os pretos, contando as suas centenas no bloco, e então contar os brancos. Mas nós também poderíamos escrever cerca de uma dúzia de linhas de códigos, que cumpririam a tarefa automaticamente. Basicamente, tudo é lógico, e não há nada de extraordinário aqui. Contudo, vamos encontrar a resposta para a pergunta acima. Primeiramente, vamos simplificar a identificação das cores de candlestick:
bool isBlack(int shift) { if(Open[shift] > Close[shift]) return (true); return (false); } //+------------------------------------------------------------------+ bool isWhite(int shift) { if(Open[shift] < Close[shift]) return (true); return (false); } //+------------------------------------------------------------------+
Usando o código já escrito, vamos continuar o experimento.
//EXAMPLE 1 //Calculate black and white candles double BlackCandlesCount = 0; double WhiteCandlesCount = 0; double BProbability = 0; for(int i = 0; i < Bars - 1; i++) { if(isBlack(i) == true) BlackCandlesCount++; if(isWhite(i) == true) WhiteCandlesCount++; } BProbability = BlackCandlesCount / Bars;
O resultado é interessante é bastante previsível: 52.5426% das 16000 candles (velas) são brancas. Usando o compilador MQL4, nós também podemos resolver um problema relativo à ciclicidade das candles. Por exemplo, caso uma candle preta tiver sido fechada, qual é a probabilidade de uma branca ser formada? Isso, é claro, depende de uma grande variedade de fatores, mas vamos consultar as estatísticas.
//EXAMPLE 2 //Calculate seqences of 1st order //BW means after black going white candle double BW = 0; double WB = 0; double BB = 0; double WW = 0; for(i = Bars; i > 0; i--) { if(isBlack(i) && isWhite(i-1)) BW++; if(isWhite(i) && isBlack(i-1)) WB++; if(isBlack(i) && isBlack(i-1)) BB++; if(isWhite(i) && isWhite(i-1)) WW++; }
Os resultados obtidos:
- Brancas seguidas de pretas - 23,64 %
- Pretas seguidas de brancas - 23,67 %
- brancas seguidas de brancas - 21,14 %
- Pretas seguidas de pretas - 20,85 %
Como podemos observar, a probabilidade de uma candle ser seguida por outra da mesma cor é um pouco menor do que ela ser seguida por uma candle de cor oposta.
Usando o MQL4 e possuindo os dados históricos, um trader pode realizar pesquisas de mercado mais profundas. O terminal permite o desenho de histogramas. Nós usaremos esta função para desenhar a distribuição de cor de candles de acordo com os valores dos indicadores WPR e RSI.
//EXAMPLE 3.1 //Build histogram by RSI //RSI min/max - 0/100 double RSIHistogramBlack[100]; double RSIHistogramWhite[100]; for(i = Bars; i > 0; i--) { int rsi_val = iRSI(NULL,0,12,PRICE_CLOSE,i); if(isWhite(i)) RSIHistogramWhite[rsi_val]++; if(isBlack(i)) RSIHistogramBlack[rsi_val]++; } for(i = 0; i < 100; i++) { ExtMapBuffer1[i] = RSIHistogramBlack[i]; ExtMapBuffer2[i] = -RSIHistogramWhite[i]; } //EXAMPLE 3.2 //Build histogram by %R //%R min/max - 0/-100 double WPRHistogramBlack[100]; double WPRHistogramWhite[100]; for(i = Bars; i > 0; i--) { int wpr_val = iWPR(NULL,0,12,i); int idx = MathAbs(wpr_val); if (isWhite(i)) WPRHistogramWhite[idx]++; if (isBlack(i)) WPRHistogramBlack[idx]++; }
De todo modo, seria mais objetivo, ao invés de contar candlesticks pretos e brancos, registrar estatísticas a respeito de transações lucrativas e desvantajosas com diferentes valores de StopLoss e TakeProfit. O procedimento abaixo irá nos auxiliar nessa tarefa:
int TestOrder(int shift, int barscount, int spread, int tp, int sl, int operation) { double open_price = Close[shift]; if (operation == OP_BUY) open_price = open_price + (Point * spread); if (operation == OP_SELL) open_price = open_price - (Point * spread); for (int i = 0; i<barscount; i++) { if (operation == OP_BUY) { //sl if (Low[shift-i] <= open_price - (Point * sl) ) return (MODE_STOPLOSS); //tp if (High[shift-i] >= open_price + (Point * tp) ) return (MODE_TAKEPROFIT); } if (operation == OP_SELL) { //sl if (High[shift-i] >= open_price + (Point * sl) ) return (MODE_STOPLOSS); //tp if (Low[shift-i] <= open_price - (Point * tp) ) return (MODE_TAKEPROFIT); } } return (MODE_EXPIRATION); }
Estou certo de que os resultados irão lhe surpreender. Os mapas de Kohonen, a distribuição gaussiana e o coeficiente de Hurst irão lhe surpreender ainda mais. Basicamente, há muitas coisas surpreendentes. O principal é não nos esquecermos da essência e do sentido das transações comerciais.
Conclusão
Basicamente, cada trader utiliza as suas próprias técnicas de transações. É claro que nada pode impedi-los de representar pitorescamente a eficiência do seu sistema, analisá-lo e utilizá-lo em transações. A ausência de resultados também é um resultado. O conhecimento adquirido pelo trader apenas aumentará a produtividade das suas transações.
Traduzido do russo pela MetaQuotes Ltd.
Artigo original: https://www.mql5.com/ru/articles/1410
Aviso: Todos os direitos sobre esses materiais pertencem à MetaQuotes Ltd. É proibida a reimpressão total ou parcial.
This article was written by a user of the site and reflects their personal views. MetaQuotes Ltd is not responsible for the accuracy of the information presented, nor for any consequences resulting from the use of the solutions, strategies or recommendations described.





- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso