O principal problema em mql5 (conta hedging) é conhecer o preço Stop Loss, quando uma posição é fechada, devido à falta de histórico de posições. Você pode usar HistorySelectByPosition() para encontrar seu Stop Loss inicial (Stop Loss da ordem inicial), mas se você tiver modificado esse Stop Loss mais tarde, ele gera novas ordens para fazê-lo, sem o mesmo POSITION_ID, e portanto, elas não serão selecionadas pela função HistorySelectByPosition(), portanto torna-se muito difícil saber o último Stop Loss que você colocou.
Eu não sei se pode ser considerado como um bug, mas se não, deve ser.
O principal problema em mql5 (conta hedging) é conhecer o preço Stop Loss, quando uma posição é fechada, devido à falta de histórico de posições. Você pode usar o HistorySelectByPosition() para encontrar seu Stop Loss inicial (Stop Loss da ordem inicial)...
Não, você não pode ou eu o entendi mal.
O atual Stoploss não está em nenhum lugar da história.
Você pode usar HistorySelectByPosition(), com seu POSITION_ID, e então você pode encontrar a primeira encomenda com esse POSITION_ID, e verificar o Stop Loss desta encomenda (HistoryOrderGetDouble(ticket, ORDER_SL)). Funcionou para mim, mas .o problema é quando você modifica esse Stop Loss mais tarde.
Jose Francisco Casado Fernandez: Você pode usar HistorySelectByPosition(), com seu POSITION_ID, e então você pode encontrar a primeira encomenda com esse POSITION_ID, e verificar o Stop Loss desta encomenda (HistoryOrderGetDouble(ticket, ORDER_SL)). Funcionou para mim, mas .o problema é quando você modifica esse Stop Loss mais tarde.
Jose Francisco Casado Fernandez: Você pode usar HistorySelectByPosition(), com seu POSITION_ID, e então você pode encontrar a primeira ordem com esse POSITION_ID, e verificar o Stop Loss desta ordem (HistoryOrderGetDouble(ticket,ORDER_SL). Funcionou para mim, mas .o problema é quando você modifica esse Stop Loss mais tarde.
E então,verifiqueORDER_POSITION_IDigual aDEAL_POSITION_ID, então verifiqueDEAL_ENTRY,seOUT,getHystoryDealGetDouble(ticket,DEAL_PRICE).
SeDEAL_PRICEigual aHistoryOrderGetDouble(ticket,ORDER_SL),então issosignifica quea Ordemfoifechadadevido aofim da perda.
Ok, e você sabe porque se você modificar o Stop Loss mais tarde, a nova ordem gerada para fazê-lo, não mostra o mesmo POSITION_ID??? Seria a solução perfeita para este assunto. É um bug????. Obrigado.
Roberto Jacobs: E então,verifiqueORDER_POSITION_IDigual aDEAL_POSITION_ID, então verifiqueDEAL_ENTRY,seOUT,getHystoryDealGetDouble(ticket,DEAL_PRICE).
SeDEAL_PRICEigual aHistoryOrderGetDouble(ticket,ORDER_SL),então issosignifica quea Ordemfoifechadadevido aofim da perda.
Aqui está meu opnião.
Sim, é o que eu estava dizendo. Eu fiz isso, e funcionou, mas se você modificar o Stop Loss inicial, ele gera um novo pedido SEM o mesmo POSITION_ID. Eu não sei por quê. Eu acho que é um bug. Cumprimentos,...
Não há necessidade de parecerescorregadio,pois o pedidofoifechado,eo preçoépróximo ao HystoryDealGetDouble(bilhete,DEAL_PRICE). Se opedido não foifechado,evocêfaz um pedidoparafechar,então você deve considerarquantoescorregou,para que nenhumerrorequeira.
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Você só poderia responder se soubesse do que está falando?
Este é um tópico sobre o MT5/mql5, vou remover todos os posts irrelevantes.
Não há nenhum preço de parada na história do MT5.
O principal problema em mql5 (conta hedging) é conhecer o preço Stop Loss, quando uma posição é fechada, devido à falta de histórico de posições. Você pode usar HistorySelectByPosition() para encontrar seu Stop Loss inicial (Stop Loss da ordem inicial), mas se você tiver modificado esse Stop Loss mais tarde, ele gera novas ordens para fazê-lo, sem o mesmo POSITION_ID, e portanto, elas não serão selecionadas pela função HistorySelectByPosition(), portanto torna-se muito difícil saber o último Stop Loss que você colocou.
Eu não sei se pode ser considerado como um bug, mas se não, deve ser.
Cumprimentos.
O principal problema em mql5 (conta hedging) é conhecer o preço Stop Loss, quando uma posição é fechada, devido à falta de histórico de posições. Você pode usar o HistorySelectByPosition() para encontrar seu Stop Loss inicial (Stop Loss da ordem inicial)...
Não, você não pode ou eu o entendi mal.
O atual Stoploss não está em nenhum lugar da história.
Não, você não pode ou eu o entendi mal.
O Stoploss não está em lugar algum na história.
.o problema é quando você modifica esse Stop Loss mais tarde.
Você pode usar HistorySelectByPosition(), com seu POSITION_ID, e então você pode encontrar a primeira encomenda com esse POSITION_ID, e verificar o Stop Loss desta encomenda (HistoryOrderGetDouble(ticket, ORDER_SL)). Funcionou para mim, mas
.o problema é quando você modifica esse Stop Loss mais tarde.
Ok entendido agora, você está certo.
Você pode usar HistorySelectByPosition(), com seu POSITION_ID, e então você pode encontrar a primeira ordem com esse POSITION_ID, e verificar o Stop Loss desta ordem (HistoryOrderGetDouble(ticket,ORDER_SL). Funcionou para mim, mas
.o problema é quando você modifica esse Stop Loss mais tarde.
então verifique DEAL_ENTRY, se OUT, get HystoryDealGetDouble(ticket,DEAL_PRICE).
Se DEAL_PRICE igual a HistoryOrderGetDouble(ticket,ORDER_SL), então isso significa que a Ordem foi fechada devido ao fim da perda.
Aqui está meu opnião.
Ok entendido agora, você está certo.
Se DEAL_PRICE igual a HistoryOrderGetDouble(ticket,ORDER_SL), então isso significa que a Ordem foi fechada devido ao fim da perda.
E então, verifique ORDER_POSITION_ID igual a DEAL_POSITION_ID,
então verifique DEAL_ENTRY, se OUT, get HystoryDealGetDouble(ticket,DEAL_PRICE) .
Se DEAL_PRICE igual a HistoryOrderGetDouble(ticket,ORDER_SL), então isso significa que a Ordem foi fechada devido ao fim da perda.
Aqui está meu opnião.
E o escorregamento?
Não há necessidade de parecer escorregadio, pois o pedido foi fechado, e o preço é próximo ao HystoryDealGetDouble(bilhete, DEAL_PRICE).
Se o pedido não foi fechado, e você faz um pedido para fechar, então você deve considerar quanto escorregou, para que nenhum erro requeira.