Olá,
Ainda não estou familiarizado com a linguagem. Então queria pedir a cooperação de vocês para alguma dúvidas básicas que ainda não encontrei solução pela documentação do próprio site.
Vamos lá.
1. Quais são as funções que uso para disparo da compra/venda do papel no valor atual?
No meu caso é compra/venda de contratos por se tratar de mercado futuro.
2. Como declarar o valor de uma variável como sendo a máxima ou a mínima de um candle?
Nessa situação o candle é escolhido pelo período do próprio gráfico em função do tempo. Ex.: Primeiro Candle [9:00] no período de 5 min.
3. É correto declarar a abertura do candle atual como sendo open[]?
Acredito serem dúvidas básicas mas como comentei, estou iniciando nessa linguagem.
Agradeço quem puder ajudar.
Boa noite!
Você já deu uma "olhada" na classe CTrade. Ela simplifica bastante os procedimentos para lidar com os vários tipos de ordens. Segue o link para consulta: https://www.mql5.com/pt/docs/standardlibrary/tradeclasses/ctrade
Para utilizar essa classe, no topo do seu programa, loga abaixo das diretivas #property, você deve incluir o comando #include <Trade\Trade.mqh>. Depois é declarar uma variável para ser utilizada com a classe CTrade. Por exemplo, na seção de variáveis globais do seu programa, você deve declarar Ctrade mytrade.
Feito isso, na parte do código onde você deseja enviar uma ordem, você deve usar o comando mytrade.Buy(volume, _Symbol, price, sl, tp, comment) ou mytrade.Sell(volume, price, sl,tp, comment), sendo que os argumentos dessas funções são:
Volume -> volume que deseja negociar;
_Symbol -> para utilizar o símbolo do gráfico corrente (gráfico no qual o EA está inserido);
price -> preço de compra, se deixar igual a zero será o utilizado o último preço Ask/Bid (compra/venda a preço de mercado);
sl -> perda máxima (Stop Loss) (se deixar igual a zero desabilita o stop loss);
tp -> ganho desejado (Take Profit) (se deixar igual a zero desabilita o Take profit).
Para pegar a máxima/mínima de um determinado candle, você pode utilizar o seguinte função:
CopyRates(_Symbol,_Period,start_position,count,myrates_array), em que os argumentos da função são:
_Symbol -> para utilizar o símbolo do gráfico corrente;
_Period -> para para utilizar o tempo (timeframe) do gráfico corrente;
start_position -> variável inteira para a posição em que você deseja copiar as cotações do ativo;
count -> variável inteira para a quantidade de cotações que você deseja copiar;
myrates_array -> vetor do tipo MqlRates onde serão armazenadas as cotações do ativo.
Depois, você deve usar a função ArraySetAsSeries(myrates_array,true), para deixar a variável myrates_array na forma de uma série temporal (timeseries).
Finalmente, você poderá ter acesso aos valores dos candles da seguinte forma:
myrates_array[i.open -> preço de abertura ;
myrates_array[i].close -> preço de fechamento ;
myrates_array[i].high -> preço máximo;
myrates_array[i].low -> preço mínimo.
Se, por exemplo desejar obter os valores do candle atual, utilizar i = 0. Para o último candle i = 1. Para o penúltimo i = 2 e assim sucessivamente.
Espero ter ajudado.
![Documentação sobre MQL5: Biblioteca Padrão / Classes de negociação / CTrade Documentação sobre MQL5: Biblioteca Padrão / Classes de negociação / CTrade](/i/community/logo_mql5_small.png)
- www.mql5.com
Olá,
Ainda não estou familiarizado com a linguagem. Então queria pedir a cooperação de vocês para alguma dúvidas básicas que ainda não encontrei solução pela documentação do próprio site.
Acredito serem dúvidas básicas mas como comentei, estou iniciando nessa linguagem.
Agradeço quem puder ajudar.
Olá yurifontoura ,
Recomendo que você dê uma olhada nesse artigo básico: https://www.mql5.com/pt/articles/116
Abraços,
Malacarne
![Escrevendo um Expert Advisor utilizando a abordagem de programação orientada a objeto do MQL5 Escrevendo um Expert Advisor utilizando a abordagem de programação orientada a objeto do MQL5](https://c.mql5.com/36/8/escrevendo-um-expert-advisor-utilizando.png)
- 2014.01.24
- Samuel Olowoyo
- www.mql5.com
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- 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
Olá,
Ainda não estou familiarizado com a linguagem. Então queria pedir a cooperação de vocês para alguma dúvidas básicas que ainda não encontrei solução pela documentação do próprio site.
Vamos lá.
1. Quais são as funções que uso para disparo da compra/venda do papel no valor atual?
No meu caso é compra/venda de contratos por se tratar de mercado futuro.
2. Como declarar o valor de uma variável como sendo a máxima ou a mínima de um candle?
Nessa situação o candle é escolhido pelo período do próprio gráfico em função do tempo. Ex.: Primeiro Candle [9:00] no período de 5 min.
3. É correto declarar a abertura do candle atual como sendo open[]?
Acredito serem dúvidas básicas mas como comentei, estou iniciando nessa linguagem.
Agradeço quem puder ajudar.