Um salve a todos os amigos do Fórum!
Estou criando um EA para verificar determinadas condições e quero que essa verificação seja realizada, não apenas no grafico atual, mas em TODOS os ativos da lista do "Observações de Mercado",
porém quando coloco "true" em SymbolsTotal aparece apenas o primeiro ativo da lista geral de ativos da corretora, apenas o primeiro!!
Quando coloco false aparecem TODOS os ativos da corretora e não apenas os da lista de Observações de Mercado
01 - Já coloquei uma função para verificar se o ativo está selecionado na referida lista de Observações de Mercado, já desativei...
02 - Já testei em outra corretora
03 - Já testei em conta real
É sempre os mesmos resultados!!!!
Segue abaixo o codigo (apenas dessa verificação para facilitar)
Qual o veredicto dos amigos?
Obrigado Deus abençoe a todos!
Eu não entendi só uma coisa há uma necessidade de passar por toda a lista de ativos e descobrir quais estão no market watch? Porque não passar SOMENTE pela lista dos que estão no market watch? Se não houver necessidade de passar por TODOS os ativos, voce pode só trocar os false por true no seu codigo que vai fazer a passagem SOMENTE pelos ativos do market watch. Lembrando que tu precisa alterar tanto o SymbolsTotal e o SymbolName para eles trabalharem em cima da mesma "lista".
Pelo seu comentario, lendo novamente, parece que voce colocou true no SymbolsTotal e esqueceu o do SymbolName.
Eu não entendi só uma coisa há uma necessidade de passar por toda a lista de ativos e descobrir quais estão no market watch? Porque não passar SOMENTE pela lista dos que estão no market watch? Se não houver necessidade de passar por TODOS os ativos, voce pode só trocar os false por true no seu codigo que vai fazer a passagem SOMENTE pelos ativos do market watch. Lembrando que tu precisa alterar tanto o SymbolsTotal e o SymbolName para eles trabalharem em cima da mesma "lista".
Pelo seu comentario, lendo novamente, parece que voce colocou true no SymbolsTotal e esqueceu o do SymbolName.
Exatamente isso que eu quero!
Que apenas os ativos da lista de Observação de Mercado ou Market Watch sejam analisados por essa EA!
Mesmo que eu modifique para true ou false nao acontece da forma esperada...
Sobre o Symbolname ele está dentro do loop e tambem já alterei pra true ou false e não adiantou
for (int i = 0; i < totalSymbols; i++) { string symbolName = SymbolName(i, false); Print("Nome do ativo ", i + 1, ": ", symbolName); }
Exatamente isso que eu quero!
Que apenas os ativos da lista de Observação de Mercado ou Market Watch sejam analisados por essa EA!
Mesmo que eu modifique para true ou false nao acontece da forma esperada...
Sobre o Symbolname ele está dentro do loop e tambem já alterei pra true ou false e não adiantou
Voce esta fazendo algo errado, como eu disse não é um ou outro tem que colocar o true em ambos. Veja o codigo abaixo que aqui funciona.
#property version "1.00" //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { int total = SymbolsTotal(true); //--- for (int i=0; i<total; i++) { string name = SymbolName(i, true); PrintFormat("%d: %s", i, name); } //--- return(INIT_FAILED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- } //+------------------------------------------------------------------+
Voce esta fazendo algo errado, como eu disse não é um ou outro tem que colocar o true em ambos. Veja o codigo abaixo que aqui funciona.
Então eu fiz assim e deu certo... Tbm li na documentação que era o certo True e True mas funcionou assim:
// Função para exibir os instrumentos ativos e seus preços de venda void ExibirInstrumentosAtivos() { // Obter o total de símbolos disponíveis int totalSymbols = SymbolsTotal(true); // Percorrer todos os símbolos for (int i = 0; i < totalSymbols; i++) { // Obter o nome do símbolo string symbolName = SymbolName(i, false); // Verificar se o símbolo está selecionado na janela do Market Watch bool symbolSelected = SymbolInfoInteger(symbolName, SYMBOL_VISIBLE); // Se o símbolo estiver selecionado, obter o preço de venda (ask) do símbolo if (symbolSelected) { double ask = SymbolInfoDouble(symbolName, SYMBOL_ASK); Print("Símbolo: ", symbolName, " Preço de Venda:", DoubleToString(ask, _Digits)); if (i == totalSymbols - 1) Print(""); } } } // Função de inicialização do Expert Advisor int OnInit() { // Chamar a função para exibir os instrumentos ativos e seus preços de venda ExibirInstrumentosAtivos(); return INIT_SUCCEEDED; } // Função de evento tick do Expert Advisor void OnTick() { // Atualizar os preços a cada tick ExibirInstrumentosAtivos(); }
Rsrsrsrs só sei que pro teste que fiz serviu kkkkkk
mas muito obrigado pessoal pela ajuda, Deus abençoe vcs!!!!
- 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
Um salve a todos os amigos do Fórum!
Estou criando um EA para verificar determinadas condições e quero que seja realizada APENAS NOS ATIVOS da lista do "Observações de Mercado" ou "Market Watch",
porém quando coloco "true" em SymbolsTotal aparece apenas o PRIMEIRO ATIVO da lista geral de ativos da corretora e
quando coloco "false" aparecem TODOS os ativos da corretora!!!
Então volto a lembrar aqui, quero que seja realizada APENAS NOS ATIVOS da lista do "Observações de Mercado" ou "Market Watch"
Testes já realizados:
01 - Já coloquei uma função para verificar se o ativo está selecionado na referida lista de Observações de Mercado, já desativei...
02 - Já testei em outra corretora
03 - Já testei em conta real
04 - Já testei em conta demo
É sempre os mesmos resultados!!!!
Segue abaixo o codigo (apenas dessa verificação para facilitar)
Qual o veredicto dos amigos?
Obrigado Deus abençoe a todos!