Ordem de venda não funciona
Boa tarde!! Faça um teste substituindo a função NormalizeDouble(), em todos os preços, pela função abaixo:
//+--------------------------------------------------------------------------------------------------------------------+ //| This function normalizes and adjusts the price to the TICK SIZE | //+--------------------------------------------------------------------------------------------------------------------+ double NormalizePrice(double price) { //--- Get the minimal price change double tick_size = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE); //--- Return the price normalized if(tick_size == 0.0) { return(NormalizeDouble(price, _Digits)); } //--- Return the price normalized and adjusted to the TICK SIZE return(NormalizeDouble(MathRound(price / tick_size) * tick_size, _Digits)); }
EDIT.1: Se não resolver, lembre de verificar possíveis mensagens de erro nas guias Experts e Diário da Caixa de Ferramentas...
Você poderia ter incluído na seção Expert Advisors e Negociação Automatizada.
Encontrei o erro. Por algum motivo, o indicador de ajuste diário que eu estava usando estava inabilitando somente a venda, mas consegui corrigir. Obrigado pela ajuda Vinicius!
Note que isso aqui nos dois codigos pode não ser exatamente o que voce quer:
requisicao.type_filling = ORDER_FILLING_FOK; Falo isso porque tem dois entendimentos: (1) vai consumir até todo o nível de preço e parar, ou; (2) vai consumir somente o que esta disponivel na ordem mais no topo.
Acredito que seja mais a segunda opção, então se tu colocar uma ordem de por exemplo 1k ai e no topo tem so 100. Tu a ordem vai ser rejeitada.
Estou com um problema que não consigo resolver. Tenho as funções de compra e venda que são ativadas quando a estratégia retorna True, porém, tanto na conta real quanto no ambiente de testes, a venda não funciona, somente a compra. Poderiam dar uma olhada e analisar se eu cometi algum erro na função?
Desde já agradeço.
OBS: Como não sabia em qual tópico se aplicava a minha dúvida, estou colocando no geral.