Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
A posição é invertida porque o programa envia dois pedidos idênticos para o servidor. O programa envia dois pedidos idênticos para o servidor porque o seu código não verifica um pedido enviado anteriormente (e não verifica o resultado do processamento deste pedido no servidor).
Yedelkin escreve: o seu código não verifica um pedido previamente enviado. Pode dizer-me qual é a função que verifica?
Todos têm uma compreensão diferente do código certo. Por isso, é preciso escrever o código "correcto" no final. E como outra dica - tente ver se este código funciona correctamente (uso esquemático da bandeira sendRequest):
Todos têm uma compreensão diferente do código certo. Por isso, é preciso escrever o código "correcto" no final. E como outra dica - tente ver se este código funciona na chave certa (uso esquemático da bandeira sendRequest):
Muito obrigado! A experimentar...
O resultado é o seguinte: o código fecha devidamente uma posição longa e não abre uma posição curta... Ao reabrir uma posição longa, a EA não a fecha de acordo com a condição. Há mensagens na janela EA a toda a hora:
Como posso utilizar este código no organismo do Expert Advisor, se ele só funciona uma vez)?
oldiol: При повторном открытии лонга, эксперт не закрывает больше позу по условию. В окне эксперта всё время идут сообщения: Как же использовать этот код в теле эксперта, если он работает только 1 раз)?
Deve ser bastante simples nesta matéria. No código esquemático a bandeira sendRequest deve ser colocada a zero se a posição aberta não for uma posição de compra (última linha de código). Veja porque é que esta bandeira não é colocada a zero no seu código quando ou não há posição aberta ou a posição aberta não é uma posição de Compra.
Viva! Funcionou)))) Removido if(sentRequest) sentRequest=false; E escrito antes do bloco if(PositionsTotal()==0) sentRequest=false; Muito obrigado a Yedelkin pela sua ajuda, BOA Sorte!
oldiol : Ao reabrir um longo, a EA já não fecha a posição por condição. Há mensagens na janela EA o tempo todo: Como posso usar este código no corpo da EA, se funciona apenas 1 vez)? Desculpe, erro meu... Há mais uma condição no código
if(PositionSelect(_Symbol)===true) // existe uma posição aberta
{
POSIÇÃO FECHAR BLOCO
} // ... portanto
if(sentRequest) sentRequest=false;// colocou-o atrás do parêntese seguinte e tudo funciona perfeitamente. Yedelkin OBRIGADO!