Olá,
Construi um EA a partir de algumas análises para operar minicontratos do índice no tempo gráfico de 5 minutos. O EA funciona perfeitamente no testador de estratégia, realizando entradas "long" e "short". No entanto, em operações reais ele não abre operações (não emite ordens). Alguma ideia do que pode estar ocorrendo?
P.S.: tudo Ok com a corretora, com a conta, com a margem e com a quantidade de contratos.
Edilson
Olá Edilson Santos,
Fica um pouco difícil tentar ajudá-lo sem maiores evidências do que está ocorrendo...
Seria alguma coisa no código do EA? Caso sim, você poderia postar eventuais mensagens de erro / log para que possamos ajudá-lo?
Com relação à corretora, você alega que está tudo certo. Nesse caso, você já tentou enviar ordens por essa conta usando a boleta nativa do MT5? Tudo certo nesse caso?
Enfim, como dito, com maiores informações podemos tentar ajudá-lo de alguma maneira!
Abraços,
Malacarne
Olá Edilson Santos,
Fica um pouco difícil tentar ajudá-lo sem maiores evidências do que está ocorrendo...
Seria alguma coisa no código do EA? Caso sim, você poderia postar eventuais mensagens de erro / log para que possamos ajudá-lo?
Com relação à corretora, você alega que está tudo certo. Nesse caso, você já tentou enviar ordens por essa conta usando a boleta nativa do MT5? Tudo certo nesse caso?
Enfim, como dito, com maiores informações podemos tentar ajudá-lo de alguma maneira!
Abraços,
Malacarne
Caro Malacarne,
Eu realizei algumas operações utilizando a boleta nativa do MT5. Todas sem problemas.
Abaixo uma cópia da aba "Diário":
2017.01.17 08:16:30.845 Terminal Rico MetaTrader 5 x64 build 1495 started (Rico Corretora de Títulos e Valores Mobiliários S.A)
2017.01.17 08:16:30.846 Terminal Windows 10 Home Single Language (x64 based PC), IE 11.00, UAC, Intel Core i5-4690T @ 2.50GHz, RAM: 5515 / 8082 Mb, HDD: 762170 / 937372 Mb, GMT-03:00
2017.01.17 08:16:30.846 Terminal C:\Users\Edilson\AppData\Roaming\MetaQuotes\Terminal\B26B53CEDCB454B17969DD1FD1C50D1F
2017.01.17 08:16:32.262 Experts expert DirAbeFiltro (WING17,M5) loaded successfully
2017.01.17 08:16:32.428 Network '9078': authorized on Rico-Metatrader-PROD through Metatrader 5 Access Server (ping: 16.39 ms)
2017.01.17 08:16:32.428 Network '9078': previous successful authorization performed from 186.205.3.213 on 2017.01.17 06:57:39
2017.01.17 08:16:32.497 Network '9078': terminal synchronized with Rico Corretora de Títulos e Valores Mobiliários S.A
2017.01.17 08:16:32.497 Network '9078': trading has been enabled - netting mode
2017.01.17 08:16:42.998 Experts automated trading is enabled
------------------------------------------------------------------------------------------------------------------------------------------------
Vou solicitar a ativação minha conta demo na corretora para testar o EA e ver se o problema persiste.
Grande abraço.
Edilson
Caro Malacarne,
A regra de entrada é definida pelo código abaixo:
-------------------------------
//----Compra
if (Filtro == 1 && EqRet > 0 && candle[0].close > Sinal_ma) { MarketOrder(_Symbol, POSITION_TYPE_BUY, NumContratos, 0, 0, 0, Magic, Slippage); }
if (Filtro == 0 && EqRet > 0) {MarketOrder(_Symbol, POSITION_TYPE_BUY, NumContratos, 0, 0, 0, Magic, Slippage);}
//----Venda
if (Filtro == 1 && EqRet < 0 && candle[0].close < Sinal_ma) { MarketOrder(_Symbol, POSITION_TYPE_SELL, NumContratos, 0, 0, 0, Magic, Slippage);}
if (Filtro == 0 && EqRet < 0) {MarketOrder(_Symbol, POSITION_TYPE_SELL, NumContratos, 0, 0, 0, Magic, Slippage);}
---------------------------------
A função MarketOrder() é chamada e faz as verificações necessárias para efetuar a entrada.
Durante a depuração do código os sinais de entrada são identificados, a função é chamada. E no Testador de Estratégias (Backtest) as operações são realizadas corretamente.
Grande abraço.
Edilson
Edilson, boa noite!
Recomendo postar os logs da aba "Experts" também.
Abraço,
Daniel
Edilson, boa noite!
Recomendo postar os logs da aba "Experts" também.
Abraço,
Daniel
Caro Daniel,
Aparece uma única linha nessa aba:
2017.01.18 08:16:46.827 DirAbeFiltro (WING17,M5) Copiado 100barras
Grande abraço,
Edilson
Caro Daniel,
Aparece uma única linha nessa aba:
2017.01.18 08:16:46.827 DirAbeFiltro (WING17,M5) Copiado 100barras
Grande abraço,
Edilson
Olá Edilson,
Um problema que pode estar ocorrendo, em comparação ao backtesting e conta real na Rico, é o teste de saldo/margem em conta, pois nessa corretora ele vai começar com saldo/margem em zero (apenas para o MT5, independentemente do seu Net e margem na corretora).
Tem certeza que não está fazendo nenhum teste de saldo/margem que bloqueie as operações?
Se não for isso, recomendo colocar Prints para testes de erros, usando a função GetLastError(), por exemplo, para poderes comparar os logs de backtesting e reais.
Sds.,
Rogério Figurelli
Olá Edilson,
Um problema que pode estar ocorrendo, em comparação ao backtesting e conta real na Rico, é o teste de saldo/margem em conta, pois nessa corretora ele vai começar com saldo/margem em zero (apenas para o MT5, independentemente do seu Net e margem na corretora).
Tem certeza que não está fazendo nenhum teste de saldo/margem que bloqueie as operações?
Se não for isso, recomendo colocar Prints para testes de erros, usando a função GetLastError(), por exemplo, para poderes comparar os logs de backtesting e reais.
Sds.,
Rogério Figurelli
Caro Rogério,
Realmente, eu observo que no MT5 o saldo da conta começa com zero (Na aba "Negociação": Saldo: 0.00 BRL Capital Líquido: 0.00 Margem Livre: 0.00), independente dos valores que estão na minha conta real. Mas eu consigo realizar operações utilizando o MT5 fora do robô.
Com relação ao "teste de saldo/margem que bloqueie as operações" eu, com toda sinceridade, não sei como é realizado. Se o teste está sendo feito pelo EA, realmente não saberia responder. Não fiz nenhuma programação com essa intenção.
Vou tentar os "Prints" que você recomendou.
Grande abraço.
Edilson
Caro Rogério,
Realmente, eu observo que no MT5 o saldo da conta começa com zero (Na aba "Negociação": Saldo: 0.00 BRL Capital Líquido: 0.00 Margem Livre: 0.00), independente dos valores que estão na minha conta real. Mas eu consigo realizar operações utilizando o MT5 fora do robô.
Com relação ao "teste de saldo/margem que bloqueie as operações" eu, com toda sinceridade, não sei como é realizado. Se o teste está sendo feito pelo EA, realmente não saberia responder. Não fiz nenhuma programação com essa intenção.
Vou tentar os "Prints" que você recomendou.
Grande abraço.
Edilson
Caro Rogério,
Modifiquei o código da entrada das operações para verificar a margem.
-----------------------------------------------------------
//----Compra
if (Filtro == 1 && candle[0].open < candle[0].close && EqRet > 0) {
if(OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,NumContratos,candle[0].close,margin) == 0) {
Print("Não tem margem", GetLastError());return;}
MarketOrder(_Symbol, POSITION_TYPE_BUY, NumContratos, 0, 0, 0, Magic, Slippage);}
if (Filtro == 0 && EqRet > 0) {
if(OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,NumContratos,candle[0].close,margin) == 0){
Print("Não tem margem", GetLastError());return;}
MarketOrder(_Symbol, POSITION_TYPE_BUY, NumContratos, 0, 0, 0, Magic, Slippage);}
//----Venda
if (Filtro == 1 && candle[0].open > candle[0].close && EqRet < 0) {
if(OrderCalcMargin(ORDER_TYPE_SELL,_Symbol,NumContratos,candle[0].close,margin) == 0){
Print("Não tem margem", GetLastError());return;}
MarketOrder(_Symbol, POSITION_TYPE_SELL, NumContratos, 0, 0, 0, Magic, Slippage);}
if (Filtro == 0 && EqRet < 0) {
if(OrderCalcMargin(ORDER_TYPE_SELL,_Symbol,NumContratos,candle[0].close,margin) == 0){
Print("Não tem margem", GetLastError());return;}
MarketOrder(_Symbol, POSITION_TYPE_SELL, NumContratos, 0, 0, 0, Magic, Slippage);}
-----------------------------------------------------------------------------------------------------------------
Grande abraço,
Edilson
Olá Edilson,
Perfeitamente, mas note que o que comentei é o contrário dessa lógica, pois na corretora Rico você não consegue testar a margem, e a hipótese seria que estivesse sendo feito esse teste no seu código original, travando o robô.
Sds.,
Rogério Figurelli
- 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á,
Construi um EA a partir de algumas análises para operar minicontratos do índice no tempo gráfico de 5 minutos. O EA funciona perfeitamente no testador de estratégia, realizando entradas "long" e "short". No entanto, em operações reais ele não abre operações (não emite ordens). Alguma ideia do que pode estar ocorrendo?
P.S.: tudo Ok com a corretora, com a conta, com a margem e com a quantidade de contratos.
Edilson