Resolvido! Vou compartilhar aqui talvez ajude alguém na sequencia:
Primeiramente foi mérito e atenção do Sr. Márcio Pulcinelli em um grupo do face.
Então vamos la, pelo que entendi:
1) Usando OrderSend:
1.1) A opção action:TRADE_ACTION_CLOSE_BY deve ser usada quando se deseja fechar a posição quando se tem 2 posições (ordens distintas) opostas já abertas.
1.2) Se não tiver as 2 ordens, deveria abrir a oposta e em um segundo momento fazer a ordem dizendo que uma fecha a outra.
1.3) Não cheguei a por em prática isso, não sei se procede, mais é o entendimento que fiquei.
2) Usando CTrade
2.1) Simples e funcionou:
bool PositionClose( const ulong ticket, // bilhete da posição ulong deviation=ULONG_MAX // desvio )
Atenciosamente,
Daniel
Boa tarde. Estou passando pela mesma dificuldade que você citou. A minha dúvida é se a função PositionClose (ou ainda PositionCloseBy, que relaciona 2 posições) envia uma ordem a mercado para seus respectivos encerramentos? Ou esta função faz uma compensação das posições internaente, zerando-as sem a necessidade de enviar novas ordens?
Grato.
- 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
Ola, boa noite!
Senhores, preciso de um norte, emitir ordens type ORDER_TYPE_BUY, ORDER_TYPE_SELL, etc...tranquilo, mais já a do tipo ORDER_TYPE_CLOSE_BY que estou com dificuldade como segue abaixo.
Acho que com o aumento de desenvolvedores para 'Hedging' provavelmente essa vai ser uma dificuldade comum aos iniciantes como eu.
Considerando a posição do tipo EDGE (imagem em anexo):
Desejo fechar a posição, uma das configurações que estou tentando usar:
Os valores zerados acima na realidade não foram informados, mais na pesquisa da ordem aparece como zero.
Retorna erro "invalid request".
2017.05.30 18:04:17.440 2017.04.19 17:25:00 failed close position #18 sell 1.00 WIN@ by position #18 [Invalid request]
2017.05.30 18:04:17.440 2017.04.19 17:25:00 Erro enviar ordem: Invalid request
NOTA: para sair da operação estou usando provisoriamente uma alternativa: alterar o SL ou TP com o preço do tickt.
Tem que ser preenchido mais alguma opção para o envio da ordem, ou tem opção a mais desnecessária?
Grato antecipadamente,
Daniel