Bom dia Raphael,
você poderia postar a porção de código que está enfrentando o problema e se possível qual o retorno quando você faz o envio da ordem?
Sem essas informações fica difícil alguém tentar te ajudar.
Um abraço,
Romeu.
Estou enfrentando problemas para setar STOPs (Loss / Take Profit) quando estou operando com Mini indice DÓLAR.
Já pesquisei aqui no fórum e em outros lugares, inclusive tentei todas as formas de enviar a ORDEM.
Alguém tem alguma dica / solução / luz?
Já mudei o TYPE / ACTION / Valores e etc do MqlTradeRequest, em outros ativos, funciona, porém como o mini-dólar é um contrato futuro, não consegui automatizar o envio da ordem com STOPs.
Olá Raphael Martins,
Qual problema exatamente você está enfrentando?
Por favor descreva um pouco melhor o problema para que possamos tentar ajudá-lo.
Abraços,
Malacarne
// status de preços valAsk = SymbolInfoDouble(_Symbol, SYMBOL_ASK); valBid = SymbolInfoDouble(_Symbol, SYMBOL_BID); valPoint = SymbolInfoDouble(_Symbol, SYMBOL_POINT); // ordem de compra ZeroMemory(trReq); ZeroMemory(trRez); ZeroMemory(trChk); trReq.volume = trade_volume; trReq.symbol = _Symbol; trReq.type == ORDER_TYPE_BUY; trReq.price = NormalizeDouble(valAsk, valDigits); if (stoploss) trReq.sl = NormalizeDouble(trReq.price - (stoploss*valPoint), valDigits); else trReq.sl = 0; if (takeprofit) trReq.tp = NormalizeDouble(trReq.price + (takeprofit*valPoint), valDigits); else trReq.tp = 0; trReq.type_filling = ORDER_FILLING_FOK; trReq.type_time = ORDER_TIME_DAY; trReq.action = TRADE_ACTION_PENDING;
ERROR 10016: Invalid Stops
Já mudeis as ACTIONS, TYPE_TIME, enfim... já tentei de todas as maneiras enviando uma ordem pendente ou não, com buy stop limit, sem buy stop limit, mudando o type filling... lendo outro post ai, vi que existe alguma coisa relacionada com o volume, que tem que ser múltiplo de 5? procede? se for isso, eu tenho que 'ajustar' o volume? Só acontece com mini-contratos Dólar, o mini-indice e/ou ativo normal funciona (com as devidas alterações nos parâmetros).
Olá Raphael Martins,
Experimente substituir
valPoint = SymbolInfoDouble(_Symbol, SYMBOL_POINT);
por
valPoint = SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE);
Nos diga se funcionou.
Abraços,
Malacarne
Olá Raphael Martins,
Experimente substituir
por
Nos diga se funcionou.
Abraços,
Malacarne
Tive que mudar o ACTION da Requisição, mas parece que funcionou sim... :D, só irei dá uma revisada no código, pelo menos o erro sumiu e entrou a ordem com os STOPS (não os que informei no setup, mas isso é o de menos).
Muito obrigado.
trReq.action = TRADE_ACTION_DEAL;

- 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
Estou enfrentando problemas para setar STOPs (Loss / Take Profit) quando estou operando com Mini indice DÓLAR.
Já pesquisei aqui no fórum e em outros lugares, inclusive tentei todas as formas de enviar a ORDEM.
Alguém tem alguma dica / solução / luz?
Já mudei o TYPE / ACTION / Valores e etc do MqlTradeRequest, em outros ativos, funciona, porém como o mini-dólar é um contrato futuro, não consegui automatizar o envio da ordem com STOPs.
Obrigado.