- Como colocar um EA pra rodar em vários ativos de uma vez só?
- Dois robôs no mesmo terminal METATRADER
- Otimizar vários ativos ao mesmo tempo
Boa tarde, pessoal. Eu gostaria de saber como eu posso criar um código que rode em multiplos ativos ao mesmo tempo sem precisar ter que abrir vários gráficos para isso. Exemplo: O robô irá monitorar uma lista com 60 ativos e entrará em todos os ativos que apresentarem uma certa condição. Desde já, agradeço.
Boa tarde!
Uma busca no CodeBase por "multicurrencies ea" retorna alguns exemplos de códigos para MT4 e MT5: Search - MQL5.community
Boa tarde!
Uma busca no CodeBase por "multicurrencies ea" retorna alguns exemplos de códigos para MT4 e MT5: Search - MQL5.community
Obrigado pela dica, Vinicius, mas eu não consegui compreender bem de como implementar essa idéia. Ao que parece terá que ser criado uma estrutura com o total de arrays que eu quero por cada simbolo. Poderia me dar uma ajuda?
Obrigado pela dica, Vinicius, mas eu não consegui compreender bem de como implementar essa idéia. Ao que parece terá que ser criado uma estrutura com o total de arrays que eu quero por cada simbolo. Poderia me dar uma ajuda?
Um ponto de partida seria um loop com topos os ativos que voce adicionou na observacao de mercado, voce pode execurar esse expert em apenas um grafico, na abertura do candle.
void LoopAtivos() { for(int i=0;i<SymbolsTotal(1);i++) { string ativo = SymbolName(i,1); string cotacao = SymbolInfoDouble(SymbolName(i,1), SYMBOL_LAST); //printf("AnalisaAtivo(ativo): " + ativo); AnalisaAtivo(ativo); //printf(ativo + " SYMBOL_SECTOR: " + SymbolInfoInteger(ativo, SYMBOL_SECTOR) + " SYMBOL_INDUSTRY: " + SymbolInfoInteger(ativo, SYMBOL_INDUSTRY) ); } //printf("AtualizaAnaliseAtivo(): " + listaAnalise); }
int AnalisaAtivo(string ativo) { maHandle4HM5 = iMA(ativo,PERIOD_M5, 4, 0,MODE_SMA, PRICE_HIGH); maHandle4LM5 = iMA(ativo,PERIOD_M5, 4, 0,MODE_SMA, PRICE_LOW); maHandle10M5 = iMA(ativo,PERIOD_M5, 10, 0,MODE_EMA,PRICE_CLOSE); maHandle20M5 = iMA(ativo,PERIOD_M5, 20, 0,MODE_EMA,PRICE_CLOSE); handleStochasticM5= iStochastic(ativo,PERIOD_M5 ,5 ,3, 3, MODE_SMA, STO_LOWHIGH); ArraySetAsSeries(maVal4HM5,true); ArraySetAsSeries(maVal4LM5,true); ArraySetAsSeries(maVal10M5,true); ArraySetAsSeries(maVal20M5,true); ....
Um ponto de partida seria um loop com topos os ativos que voce adicionou na observacao de mercado, voce pode execurar esse expert em apenas um grafico, na abertura do candle.
👏👏👏 Boa Sergio!!
Eu usaria uma abordagem com objetos, e essa construção ocorreria apenas uma única vez.
É uma boa ideia, mas, eu tomaria cuidado com a criação dos handler em loop a todo momento. Isso pode levar a um memory leak.
Eu usaria uma abordagem com objetos, e essa construção ocorreria apenas uma única vez.
Não compreendi bem sobre essa abordagem com objetos. Estou tentando fazer via loop pois o EA tem que rastrear cerca de 80 ativos e retornar os ativos que estão com as condições que foram pré-determinadas (o famoso sinal). Só algo vai mal no loop e eu não estou conseguindo entender o erro. Obrigado a todos que responderam!
Um ponto de partida seria um loop com topos os ativos que voce adicionou na observacao de mercado, voce pode execurar esse expert em apenas um grafico, na abertura do candle.
Ficaria inviável fazer um handle, um array etc para cada ativo pois são muitos ativos. Entende?
Ficaria inviável fazer um handle, um array etc para cada ativo pois são muitos ativos. Entende?
Problema de ser muito nao eh problema. O seu problema eh a janela de execucao, se esta devagar aumenta o timeframe, o tempo para calculo ou simplifica o algoritmo.
Dependendo do que tu quer fazer tu poderia deixar um "vies" pre configurado em banco e so ficar observado via LAST se ele ocorreu ou nao. Dai nem handler tem!
- 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