Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1098
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
Hmm, situação estranha, como a actividade no tópico que levantei, tinha uma pergunta, do meu ponto de vista específico, mas em vez de uma resposta até agora obtive "porque é que precisas dela?
Quero fazê-lo com SB CTrade, aqui está um exemplo (compilado a partir de 2 exemplos meus): Abrimos cadanovo bar a 9 TF por uma encomenda, memorizamos o bilhete e determinamos a direcção de uma encomenda fechada pelo número do bilhete.
Na MQL4, o código para o testador ficaria assim
precisamos de um código para o testador, ou seja, o número mínimo de verificações e o trabalho mais rápido possível no optimizador.
como escrever este código em MQL5 com SB CTrade ?
Hmm, situação estranha, como a actividade no tópico que levantei, tinha uma pergunta, do meu ponto de vista específico, mas em vez de uma resposta até agora obtive "porque é que precisas dela?
Quero fazê-lo com SB CTrade, aqui está um exemplo (compilado a partir de 2 exemplos meus): Abrimos cada novo bar a 9 TF por uma encomenda, memorizamos o bilhete e determinamos a direcção de uma encomenda fechada pelo número do bilhete.
Na MQL4, o código para o testador ficaria assim
como escrever este código em MQL5 usando SB CTrade ?
Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos
FAQ de Iniciantes MQL5 MT5 MetaTrader 5
Vladimir Karputov, 2019.07.21 12:56
Portanto, a base é oPOSITION_IDENTIFIER, mas não o bilhete de posição. É importante só por causa da rede:
POSITION_IDENTIFIER
O identificador da posição é um número único, que é atribuído a cada posição recentemente aberta e não muda ao longo da sua vida útil. Corresponde ao bilhete da ordem com que a posição foi aberta.
O identificador da posição é especificado em cada ordem (ORDER_POSITION_ID) e cada comércio (DEAL_POSITION_ID) que o abriu, alterou ou fechou. Utilize este imóvel para procurar ordens e negócios relacionados com a posição.
Quando uma posição é invertida em modo de rede (uma única entrada/saída), o identificador POSITION_IDENTIFIER da posição não é alterado. No entanto, POSITION_TICKET é alterado para o bilhete de encomenda, o que resultou na inversão. No modo de cobertura, não há inversão de posição.
longo
Assim, temos de manter um registo do identificador de posição (POSITION_IDENTIFIER).
Agora, uma tarefa mais precisa: na primeira corrida, abrimos uma POSIÇÃO DE COMPRA e memorizamo-la (AVISO: devemos memorizar o ID da posição, não o bilhete). Se a posição tiver sido fechada, abrimos uma posição oposta: por exemplo, era uma vez uma posição COMPRAR, depois foi fechada, o que significa que abrimos imediatamente uma posição VENDER.
Agora será muito mais fácil resolver o problema.
ou seja, a CTrade não sabe como detectar independentemente se uma encomenda está aberta ou fechada, qual foi o tipo da última encomenda fechada?
que biblioteca devo utilizar para este fim?
ou seja, o CTrade não sabe como detectar independentemente se uma encomenda está aberta ou fechada? qual foi o tipo da última encomenda fechada?
Que biblioteca devemos utilizar para este fim?
Já lhe disse uma centena de vezes, por isso, por favor retire a palavra "ordem" do seu vocabulário. Enquanto não o fizer, não poderá seguir em frente. De qualquer modo, provavelmente não poderei ajudá-lo. Isso é lamentável.
Bem, já lhe disse uma centena de vezes - tire a palavra "mandado" do seu vocabulário. Enquanto não o fizer, não pode seguir em frente. De qualquer modo, provavelmente não o posso ajudar. É uma pena.
Bem, diga-me o que quer dizer com isso:
Bem, já lhe disse uma centena de vezes - tire a palavra "mandado" do seu vocabulário. Enquanto não o fizer, não pode seguir em frente. De qualquer modo, provavelmente não o posso ajudar. É uma pena.
OK? Deixe-me reformular a pergunta:
Como utilizar um bilhete lembrado com CTrade::ResultOrder()
para descobrir:
1. se a posição está fechada?
2. Que tipo de acordo tinha a posição fechada?
3. precisamos de tratar simultaneamente de 9 posições, encomendas ou bilhetes, ou ... OnAnyTerminologia sobre uma conta de cobertura
nesta formulação é a minha pergunta inequívoca? (exemplo reprodutível sob MQl4 publicado acima)
ZS: Não posso esquecer a palavra ordem, infelizmente esta palavra é usada na ajuda juntamente com outros termos:https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade/ctraderequestorder
Hm, é uma situação estranha, parecia ter levantado o tema, a minha pergunta era específica do meu ponto de vista, mas em vez de uma resposta, recebi "porque é que precisa dela?
A razão é a incompetência dos respondentes. Demorei cinco minutos a escrevê-lo e uma tentativa de o verificar.
MT4
Fórum sobre negociação, sistemas de negociação automatizados e testador de estratégias
Perguntas de principiantes MQL5 MT5 MetaTrader 5
fxsaber, 2019.07.21 12:54
MT5
Não precisa de ser um forte proficiente para escrever isto, apenas precisa de conhecer as noções básicas do MT5.
ZS Na rede existe uma pequena nuance na determinação do tipo de posição fechada. Mas não desempenha aqui um papel.
Não precisa de ser forte para escrever isto, só precisa de conhecer o básico do MT5.
Obrigado!
Sim, estava à procura de uma solução se não a conseguisse escrever em cinco linhas com SB
Mas o quanto eu compreendi, que um SB CTrade não será capaz de resolver o meu problema? E tive de usar também o CPositionInfo? - Se eu quiser acompanhar 9 posições por várias TFs ao mesmo tempo?
ZS: Estou sentado na ajuda MQL5 com a TV inteligente - funções comerciais bastante bem descritas, o uso do SatB está sob uma questão .... penso que faz sentido utilizar o SB para estratégias primitivas, um pouco mais complicado - a funcionalidade é insuficiente ou não é óbvia, talvez precise de mais prática - vou tentar "torcer" o SB
Mais uma vez obrigado!
A razão é a incompetência assim respondida. Demorei cinco minutos a escrever e uma tentativa de verificação.
MT4
MT5
Não precisa de ser um forte proficiente para escrever isto, apenas precisa de conhecer as noções básicas do MT5.
Não precisa de conhecer o básico, só precisa de conhecer o básico do MT5. Mas não importa aqui.
Aqui é onde
há uma potencial armadilha.
Na lista histórica, os mandados não estão dispostos pela ordem em que aparecem nessa lista. Tropeçou nisto ao desenvolver a biblioteca. Eu confiava nisso. Mas afinal não foi assim tão simples. Tentar definir ordens de limite e paragem por sua vez na seguinte ordem: limite -> paragem -> limite -> paragem -> limite -> paragem e eliminar cada uma em qualquer ordem e ver qual a última ordem registada na lista do histórico. Ficará surpreendido.
Aqui é onde
há um erro potencial.
Na lista histórica, as ordens não estão dispostas na ordem em que aparecem na lista. Encontrei-o ao desenvolver a biblioteca. Eu confiava nisso. Mas afinal não foi assim tão simples. Tentar definir ordens de limite e paragem por sua vez na seguinte ordem: limite -> paragem -> limite -> paragem -> limite -> paragem e eliminar cada uma em qualquer ordem e ver qual a última ordem registada na lista do histórico. Ficará surpreendido.
Não há aí qualquer erro, uma vez que a lista é gerada através de HistorySelectByPosition.